最近的一段時間,我參考了別人的部落格寫了不少關於遞迴的排序方法,如全排序,揹包等。在寫這些好程式之後有所感悟趁空寫下,以便日後回顧。
其實在陣列的全排序中完全可以使用更加易懂簡便的寫法——for迴圈,但是通過for迴圈編寫陣列全排序需要有乙個先決條件——知道陣列全排序的個數,因為有n個資料全排序就需要寫n個巢狀for迴圈。因此在寫全排序時一般使用遞迴方法。這就是我的第乙個關於遞迴排序的見解——遞迴排序可以無需已知排序陣列的長度,即排序個數!
其二,不管是使用遞迴進行陣列排序還是使用for迴圈進行陣列的排序,它們都是本質都是使用列舉,因此可以得出這樣乙個結論:列舉可以確保找出每一種可能的排序規則!
其三,列舉是列出所有的方法並找出符合要求的演算法,因此其演算法效率一定比較的低,需要對其進行優化,才能達到較好的效果(遞迴的時候排除所有不可能的方案)
遞迴之我見
遞迴是一門玄學,通過這幾日觀摩我帥氣組長給我們的資料,我也參悟到了一些東西。遞迴好比你想知道你現在在 但現在只知道你的出發點是什麼,且每個地點與地點之間是有聯絡的,所以你得往回走,一直走到出發點,再走回來並記住路途中經過的點,這樣你就知道你原來是在 了 所以我覺得做遞迴的兩大關鍵就是知道這個遞迴的出...
排序 快速排序 遞迴
快速排序的遞迴寫法,總共寫了四種方法 兩個雙指標法 挖坑法 hoare法 快速排序的時間複雜度為o nlogn 表現為不穩定的演算法 快速排序的陣列在交換或者覆蓋的過程中,相同的數字可能會出現位置的變換 快排相當於二叉樹的前序遍歷 void swapargs int pa,int pb int ho...
氣泡排序之我見,希望前輩們拍磚!
氣泡排序實在是太簡單了,但是理解後簡單,理解之前理解起來也挺痛苦的,痛苦在哪呢?例如我有1 3 5 2 4這5個元素,會發生5 1 4次比較,於是乎得知n個元素會產生n 1次比較 以上,但是我看網上的 的時候這個結論對我沒什麼幫助啊 public class bubblesort bubblesor...