Permutation
排列是从 n 个元素中有序选取 k 个的方式数 P(n,k)=n!/(n-k)!,全排列为 n!。
用途
计算有序选取的方式数,是组合数学的基础。
机制
P(n,k) = n!/(n-k)! = n×(n-1)×...×(n-k+1)。全排列 P(n,n)=n!。可重复排列 P(n,k)=n^k。循环排列 P(n,k)=(n-1)!。用回溯或 Heap 算法生成所有排列。
用例
- 排列生成与枚举
- 密码强度计算
- 调度与排序问题
- 概率计算
示例
- 输入
P(5,3)=5!/(5-3)!=60输出60Ordered arrangements of 3 out of 5
常见错误
- Confusing permutations with combinations (ordered vs unordered)
- Permutations are ordered (P), combinations unordered (C)