组合与排列的数学基础不仅限于基本计数,还包括高级概率论、生成函数和现代数学与计算机科学中的复杂解题技巧。
数学推导:
排列推导:P(n,r) = n!/(n-r)! 源自乘法原理。第一个位置有 n 种选择,第二个有 n-1 种,依此类推到第 r 个位置,共 n × (n-1) × ... × (n-r+1) = n!/(n-r)!。
组合推导:C(n,r) = n!/(r!(n-r)!),因每组 r 个项目可有 r! 种排列。P(n,r) 计数所有排列,C(n,r) = P(n,r)/r! = n!/(r!(n-r)!)。
二项式定理联系:(x+y)^n = Σ C(n,k)x^(n-k)y^k,组合数自然出现在代数表达式中,连接离散与连续数学。
高级组合概念:
- 多项式系数:同时分组不同规模,n!/(n₁!n₂!...nₖ!) 推广了组合到多类别。
- 斯特林数:计数将 n 个对象分成 k 个非空子集(第二类斯特林数)或排成 k 个环(第一类斯特林数)。
- 卡特兰数:C_n = C(2n,n)/(n+1) 计数二叉树、括号化和格路径等结构,计算机科学中常见。
概率论结合:
- 超几何分布:用组合建模无放回抽样:P(X=k) = C(K,k)C(N-K,n-k)/C(N,n),从 N 个中抽 n 个含 K 个成功。
- 二项分布:n 次试验恰好 k 次成功的概率 P(X=k) = C(n,k)p^k(1-p)^(n-k),直接用组合公式。
- 负二项分布:推广二项分布,计数达到固定成功次数所需试验数,概率质量函数用到组合。
计算注意事项:
- 防止溢出:大数用对数计算:log(C(n,r)) = log(n!) - log(r!) - log((n-r)!),阶乘用对数和。
- 迭代计算:C(n,r) = C(n-1,r-1) + C(n-1,r) 可用帕斯卡三角形和动态规划高效计算。
- 近似方法:n 大 r 适中时,斯特林公式 ln(n!) ≈ n ln(n) - n 可作近似。