组合 组合数、C(n,k)、Combination
从 n 个不同元素里取 k 个、不管先后顺序的取法数。
组合指从 n 个不同的东西里取出 k 个,只关心取到哪几个、不管谁先谁后,一共有多少种取法,记作 C(n,k)。它和排列最大的区别就是不看顺序:取到同样几个元素就算同一种,哪怕拿出来的先后不同也不重复计。
用在哪里?凡是只在乎「选中了谁」的场合都是组合,比如从一堆人里选几个代表、发一样的奖、抽几张牌算牌型。公式是 C(n,k) = n! ÷ [k! × (n−k)!],也可以理解成先按排列数 A(n,k) 算出来,再除掉每组内部 k! 种顺序的重复。举例从 5 个人里选 2 个当代表,就是 5×4÷2 = 10 种。
一个好用的性质是 C(n,k) = C(n,n−k),选出 k 个和留下 n−k 个是一一对应的,所以算的时候挑较小的那个更省事。常见误区是该用组合时误用了排列,把顺序多算了一遍,结果会偏大 k! 倍。
关于组合的常见问答
什么时候用组合而不是排列?只关心选中谁、不分先后时用组合。选小组、选代表、发同样的奖都属于组合。
C(n,k) 和 C(n,n−k) 为什么相等?选出 k 个等于留下 n−k 个,两者一一对应,所以数目一样。算的时候挑 k 较小的一边更快。
算扑克牌型概率跟组合有什么关系?牌不分先后,所以「一手牌」就是一个组合。用某牌型的组合数除以所有可能的组合总数,就得到出现概率。