1

作为一名程序员,我经常需要能够知道如何计算集合的排列数,通常用于估计目的。

根据手头的问题,有很多不同的方法来指定允许的组合。例如,给定一组字母 A,B,C,D

  1. 假设结果为 4 位,这些字母有多少种排列方式?

  2. 如果你可以有 1、2、3 或 4 位数字,那么有多少种方式?

  3. 如果每个字母最多只能使用一次怎么办?两次?

  4. 如果您必须避免同一个字母连续出现两次,但如果它们不是连续出现,那么两次就可以了?

等等。我相信还有更多。

有谁知道以非数学家可以理解的方式谈论这个主题的网络参考资料或书籍?

谢谢!

4

4 回答 4

3

假设结果为 4 位,这些字母有多少种排列方式?

选择第一个数字时,您有 4 个选择,即 A、B、C 和 D 之一;选择第 2、第 3、第 4 时也是一样的,因为允许重复:所以你有 total : 4*4*4*4 = 256选择。

如果你可以有 1、2、3 或 4 位数字,那么有多少种方式?

从问题 1 很容易推导出来。

如果每个字母最多只能使用一次怎么办?

选择第一数字时,您有4个选择,这是一个,b,c和d; 选择第 2 个时,除了第 1 个选择外,您有 3 个选择;第 3 项有 2 个选择,第 4 项有 1 个选择。所以你有 total :4 * 3 * 2 * 1 = 24选择。

这里涉及的知识包括组合、排列和概率。这是一个很好的教程来了解它们的区别。

于 2009-10-11T02:43:20.593 回答
2

首先你说的话题是

  • 排列(顺序很重要)
  • 组合(顺序无关紧要)

我会推荐Math Tutor DVD用于自学数学主题。“概率和统计”磁盘集将为您提供解决问题所需的公式和技巧。这很棒,因为这是您最接近回到学校的事情,因为老师会在白板上为您解决问题。

我在视频的组合章节中找到了一个剪辑供您查看。

于 2009-10-11T02:33:32.953 回答
1

如果您需要做的不仅仅是计算组合和排列的数量,如果您确实需要生成序列,那么 Donald Knuth 的书Generating all combination and partitionsGenerating all tuples and permutations。他详细介绍了受各种限制的算法,研究了针对每个问题的不同解决方案的优缺点。

于 2009-10-11T12:46:56.857 回答
0

这完全取决于您需要解释的简单程度。

您正在寻找的主题称为“排列和组合”。

这是一个相当简单的介绍。在谷歌的前几页上有几十个这样的。

于 2009-10-11T02:34:43.933 回答