2013年9月5日

摘要: 将排列(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个部分,每个部分可以看作一个环.通过遍历,对于每个点所在的环,要么已经遍历过要么没有遍历过,对于没有遍历过的,一开始这个环上的某个节点. 阅读全文
posted @ 2013-09-05 19:22 NoSoul.Love 阅读(370) 评论(0) 推荐(0) 编辑
 
摘要: 假设我们已有6个元素{a,b,c,d,e,f},我们要将这6个元素的一个序列改成另一个序列 比如:a b c d e f ---> c d f b e a我们可以采用“循环记号”标记上面的改变 (acf)(bd)表示为a-->c,c-->f,f-->a,b-->d,d-->b在一个排列之后我们又可以应用另一个排序,我们可以将两个排列相乘| a b c d e f | |a b c d e f | | a b c d e f || | * | | = | || c d f b e a | | b d c a f e | | c a... 阅读全文
posted @ 2013-09-05 14:45 NoSoul.Love 阅读(670) 评论(0) 推荐(0) 编辑