跳到主要内容
uencoder

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
    输出
    60

    Ordered arrangements of 3 out of 5

常见错误

Confusing permutations with combinations (ordered vs unordered)
Permutations are ordered (P), combinations unordered (C)

相关词条

相关工具

参考链接