java - 请问这种排列算法的难度在什么水平?
伊谢尔伦
伊谢尔伦 2017-04-18 10:48:09
0
1
593

https://segmentfault.com/q/10... 这个问题中有四种对4位整型数组进行排列组合的算法,一个一个按照运行顺序写下来觉得很有意思,我肯定直接写不出来,想问一下算法界的大神们,这种算法大概是什么水平的?如果是很简单的那种,我大概真的要去补一下了...另外,除了死记硬背,这么刁钻的设计是怎么想出来的...

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(1)
巴扎黑

全排列的過程可以當成樹的遍歷過程,每個葉子節點就是一種排列,只不過要注意的是每個子樹的邊不能和父節點的邊重複。
樹的遍歷過程好辦,或遞歸或用棧或隊列甚至另外設定個保存狀態的數組都行,子樹的邊不能和父節點邊重複的問題也好辦,遍歷子樹的時候只遍歷available的,並且遍歷後做標記就可以了。
我覺得這個問題轉換成樹就好辦了,實現各種各樣都可以吧。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板