摘要:
将排列(abcdef)应用(cdfbea),那么它的逆为(cdfbea)应用(abcdef)等价于(abcdef)应用(fdabec)所以(cdfbea)的逆为(fdabec)算法A流程 E1.获取当前的替代X,X[i]表示i被X[i]代替,将m从1到n遍历(全部遍历,与起始点无关),设j为任意负值. E2.获取当前的i=X[m],如果当前X[m]0,则回E3;否则将X[m]=-j; E5.m自增加1.如果m>n,算法结束.证明 某排列的逆可以分为1~n个部分,每个部分可以看作一个环.通过遍历,对于每个点所在的环,要么已经遍历过要么没有遍历过,对于没有遍历过的,一开始这个环上的某个节点. 阅读全文