寻找计算排列的很好参考
作为一名程序员,我经常需要能够知道如何计算一个集合的排列数,通常为 用于估计目的。寻找计算排列的很好参考
有很多不同的方式指定允许 组合,具体取决于手头的问题。例如,给定 该组的字母A,B,C,d
假定一个4位数字结果,有多少种方法可以在这些信 被布置?
如果你可以有1,2,3或4位数,那么有多少种?
如果你只允许使用每个字母最多一次? 两次?
如果你必须避免同一个字母在 连续出现两次,但如果它们不在一行中,那么两次是好的?
等等我确定还有更多。
有谁知道,在一个非数学家可以理解的术语谈论 这个问题的Web引用或书吗?
谢谢!
假设一个4位数的结果,这些字母的排列方式有多少?
当选择第一个数字时,您有4个选择,它们是A,B,C和D中的一个;选择第二,第三和第四,因为重复是允许的: 因此您总共有:4*4*4*4 = 256
选择。
如果你可以有1,2,3或4位数字 那么有多少种方式?
这是很容易从问题1
推断如果你只允许使用 每个字母最多一次?
当选择第一个数字时,您有4个选择,它们是A,B,c和D中的一个;当选择第二个时,除了第一个选择的选择之外,您有3个选择;第三种选择2种,第四种选择1种。 所以你有总共:4 * 3 * 2 * 1 = 24
的选择。
这里涉及的知识包括组合,排列和概率。这是一个很好的tutorial了解他们的区别。
的所有题目首先你是讲的是
- Permutations(其中顺序事项)
- Combinations(顺序并不重要)
我会建议Math Tutor DVD教学你自己的数学题目。 “概率和统计”磁盘集将为您提供解决问题所需的公式和技巧。这很好,因为这是你回到学校的最接近的东西,因为老师为你解决了白板上的问题。
我发现在视频的Combinations章剪辑给你看看。
这一切都取决于你需要的解释是多么简单。
您正在寻找的主题被称为“排列组合”(Permutations and Combinations)。
Here's一个相当简单的介绍。在谷歌的前几页有几十这样的。
如果您需要做的不仅仅是计算组合和排列的数量,如果您确实需要生成序列,那么Donald Knuth的书Generating all combinations and partitions和Generating all tuples and permutations。他详细介绍了受各种限制的算法,并针对每个问题探讨了不同解决方案的优缺点。
您需要将“Combinatorics”(及其链接)替换为“Combinations” – 2009-10-11 13:51:07