跳至主要內容

组合数

Cyletix大约 2 分钟

有时记作CnkC_n^k,或者nCk_nC_k

组合数

组合数 CmnC_m^n(也称为二项系数或组合)表示从 mm 个不同的元素中选择 nn 个元素的方式的数量,而不考虑选择的顺序。计算组合数 CmnC_m^n 的公式如下:

Cmn=n!(mn)!m! C_m^n​=\frac{n!(m−n)!}{m!}​

例如,要计算C52C_5^2,即从5个不同的元素中选择2个元素的方式的数量,可以这样计算:

C52=2!(52)!5!=2!3!5!=(21)(321)54321=10 C_5^2 = \frac{2! \cdot (5-2)!}{5!} = \frac{2! \cdot 3!}{5!} = \frac{(2 \cdot 1) \cdot (3 \cdot 2 \cdot 1)}{5 \cdot 4 \cdot 3 \cdot 2 \cdot 1} = 10

所以,C52C_5^2 等于10,表示从5个不同的元素中选择2个元素的方式有10种。

也可以写成以下更对称的形式:

Cm+nn=m!n!(m+n)!=Cm+nm C_{m+n}^n​=\frac{m!\cdot n!}{(m+n)!}​=C_{m+n}^m​

表示从 m+nm+n 个元素中选出m个元素或n个元素, 这两种情况的组合数相等


Wikipedia

定义及概念

对于非负整数nn,kk, 二项式系数定义为(1+x)n(1+x)^n的多项式展开中, xkx^k的系数 (1+x)n=k=0n(nk)xk=(n0)+(n1)x++(nn)xn{\displaystyle (1+x)^{n}=\sum _{k=0}^{n}{\binom {n}{k}}x^{k}={\binom {n}{0}}+{\binom {n}{1}}x+\cdots +{\binom {n}{n}}x^{n}} 事实上,若xx, yy为[[交换环]]上的元素,则满足二项式定理

(x+y)n=k=0n(nk)xnkyk (x+y)^n=\sum_{k=0}^n\binom nk x^{n-k}y^k

阶乘公式

二项式系数最简洁的表达式是阶乘:

(nk)=n!k!(nk)!for 0kn. \binom{n}{k} = \frac{n!}{k!(n-k)!} \quad \text{for } 0\leq k\leq n.

递归公式

以下递归公式可计算二项式系数:

(nk)=(n1k1)+(n1k)n,kN \binom{n}{k} = \binom{n-1}{k-1} + \binom{n-1}{k} \quad \forall n,k \in \mathbb{N}

其中特别指定:

(n0)=1nN{0}, \binom{n}{0} = 1 \quad \forall n \in \mathbb{N} \cup \{0\},

(0k)=0kN. \binom{0}{k} = 0 \quad \forall k \in \mathbb{N}.

此公式可由计算 (1+x)n1(1+x)(1+x)^{n-1}(1+x) 中的 xkx^{k} 项,或点算集合 {1,2,,n}\{1,2,\cdots,n\}kk 个元素组合中包含 nn 与不包含 nn 的数量得出。

显然,如果 k>nk > n,则 (nk)=0\binom{n}{k} = 0。而且对所有 nn(nn)=1\binom{n}{n} = 1,故此上述递归公式可于此等情况下中断。递归公式可用作建构帕斯卡三角形。

乘数公式

个别二项式系数可用以下公式计算:

(nk)=nkk!=n(n1)(n2)[n(k1)]k(k1)(k2)1=i=1kn(ki)i, \binom{n}{k} = \frac{n^{\underline{k}}}{k!} = \frac{n(n-1)(n-2)\cdots [n-(k-1)]}{k(k-1)(k-2)\cdots 1} = \prod_{i=1}^{k} \frac{n-(k-i)}{i},

上式中第一个分数的分子是一阶乘幂。此公式可以二项式系数在计算组合数量的意义理解:分子为从 nn 个元素中取出 kk 个元素的序列之数量,当中包含同样的元素但不同排列次序的序列。分母则计算同样的 kk 个元素可有多少种排序方式。