從n個不同元素中任取m(m≤n)個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的一個排列。當m=n時所有的排列情況叫全排列。
簡介
如1,2,3三個元素的全排列為:
1,2,3
1,3,2
2,1,3
2,3,1
3,1,2
3,2,1
共3*2*1=6種 3!
2公式
全排列數f(n)=n!(定義0!=1)
遞歸算法
1,2,3
1,3,2
2,1,3
2,3,1
3,2,1
3,1,2
這是由于算法只是考慮到了如何輸出全排列,而沒有考慮到換位是否有問題。所以我提出了解決方案,就是換位函數修改下
如 1 2 3 換位的話 ,不應該直接 3 2 1這樣 ,讓3和1直接換位; 而是讓3排在最前后 ,1 2 依次向后
基本算法
以下介紹全排列算法四種:
(A)字典序法
(B)遞增進位制數法
(C)遞減進位制數法
(D)鄰位對換法
實現全排列算法
新聞熱點
疑難解答