首頁  >  文章  >  web前端  >  JavaScript全排列的六種演算法

JavaScript全排列的六種演算法

高洛峰
高洛峰原創
2016-11-26 10:02:481636瀏覽

全排列是一種時間複雜度為:O(n!)的演算法,前兩天給學生講課,無意間想到這個問題,回來總結了一下,可以由7種演算法求解,其中動態循環類似回溯演算法,實現起來比較繁瑣,故總結了6種,以颯讀者。所有演算法均使用JavaScript編寫,可直接運作。
演算法一:交換(遞歸)
1.  
2. 

 
3.      
4.     Full Permutation(Recursive Swap) - Mengliao Software 
5.  
6.  
5.  
6.  Full Permutation(Recursive Swap)
 
8. Mengliao Software Studio - Bosun Network Co., Ltd.
 
9. 2011.05.24 
10.  
42.  
43. 
演算法二:連結(遞歸)
1.  
2.  
3.      
4.   Permutation(Recursive Link) - Mengliao Software 
5.  
6.  
7. 

Full Permutation(Recursive Link)
 
Software Software. Co., Ltd.
 
9. 2012.03.29

 
10. 
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn