给定{1,2,3,……,n}的排列为π,其字典序值为rank(π,n)。并且有这样的关系:
rank(π,n) = (π[1] - 1)(n - 1)! + rank(π’,n-1)
其中,π’中每个元素
π’[i] = π[i + 1] – 1 若π[i + 1] > π[1]
π’[i] = π[i + 1] 若π[i + 1] < π[1]
例如序列213除去序列第一个元素后得到12。
据此可计算一个序列的字典序值:
同样一个字典序值也可以映射为一个序列:
给定{1,2,3,……,n}的排列为π,其字典序值为rank(π,n)。并且有这样的关系:
rank(π,n) = (π[1] - 1)(n - 1)! + rank(π’,n-1)
其中,π’中每个元素
π’[i] = π[i + 1] – 1 若π[i + 1] > π[1]
π’[i] = π[i + 1] 若π[i + 1] < π[1]
例如序列213除去序列第一个元素后得到12。
据此可计算一个序列的字典序值:
同样一个字典序值也可以映射为一个序列: