摘要: 生成n個數字的全排列是算法學習中的一個經典案例,也是信息學奧賽中的一個常考內容,值得我們去深入研究。生成全排列的算法很多,大概分類有直接模擬法,設置中介數法和數學分析法(這是我杜撰的一個名稱),其中直接模擬法又可以分為遞歸和非遞歸模擬。設置中介數后,更是可以分為字典序全排列生成法,遞增進位排列生成算法,遞減進位排列生成算法和循環左移排列生成算法等類別。此外還有鄰位對換法和鄰元素增值法等另類生成方法。利用這些算法生成的全排列,有些是有序全排列,有些卻是無序的,本文主要探討有序全排列。
閱讀全文