文章詳情頁
java - 請問這種排列算法的難度在什么水平?
瀏覽:90日期:2024-02-07 11:53:09
問題描述
https://segmentfault.com/q/10... 這個問題中有四種對4位整型數組進行排列組合的算法,一個一個按照運行順序寫下來覺得很有意思,我肯定直接寫不出來,想問一下算法界的大神們,這種算法大概是什么水平的?如果是很簡單的那種,我大概真的要去補一下了...另外,除了死記硬背,這么刁鉆的設計是怎么想出來的...
問題解答
回答1:全排列的過程可以當成樹的遍歷過程,每個葉子節點就是一種排列,只不過要注意的是每個子樹的邊不能和父節點的邊重復。 樹的遍歷過程好辦,或遞歸或用棧或隊列甚至另外設置個保存狀態的數組都行,子樹的邊不能和父節點邊重復的問題也好辦,遍歷子樹的時候只遍歷available的,并且遍歷后做標記就可以了。 我覺得這個問題轉換成樹就好辦了,實現各種各樣都可以吧。
標簽:
java
相關文章:
排行榜
