组合 C(n, k):无序地取 k 个
仍是从 n 个不同元素里取 k 个,但这次不计次序——{A, B, C} 和 {C, B, A} 是同一个组合。这样的方案数记作 组合数 C(n, k)(也写作
、nCk 或二项式系数
)。它和排列只差一个因子:把排列里那 k! 种「同一组元素的不同顺序」压成一种,就得到组合。
1 · 从排列到组合:除掉 k!种顺序
同一组 k 个元素,能排成 k! 种不同顺序,它们在排列里各算一个、在组合里只算一个。所以把排列数 P(n, k) 除以 k!,就得到组合数 C(n, k)。下面取头 k 个字母作一组,列出它的全部
k! 种顺序,看它们如何折叠成一个组合。
2 · 枚举全部组合,再看它的对称性
下面列出无序取 k 个的全部 C(n, k) 个组合。还有一条常用的性质:选出 k 个等价于丢掉 n−k 个——每挑一个大小为 k 的子集,就唯一对应一个大小为
的「补集」。于是
,拖动滑块两个数始终相等。
两个常用的边界值:C(n, 0) = C(n, n) = 1(取空集 / 取全体,各只有一种),(取一个 / 丢一个)。把 k 从 0 拉到 n,组合数先增后减、关于中间对称——这正是 Pascal 三角每一行的形状。
3 · 相关链接
- Combination — Wikipedia · en.wikipedia.org——组合、二项式系数与常用恒等式。
- Binomial coefficient — Wikipedia · en.wikipedia.org——
C(n, k)的多种写法、对称性与求和公式。