A. 歸並排序演算法是什麼
歸並排序演算法定義如下:
歸並排序演算法就是利用分治思想將數組分成兩個小組A,B,再將A,B小組各自分成兩個小組,依次類推,直到分出來的小組只有一個數據時,可以認為這個小組已經是有序的了,然後再合並相鄰的二個小組就可以了。這樣通過先遞歸的分解數組,再合並數組,就完成了歸並排序。
歸並排序演算法特點:
由於歸並排序在歸並過程中需要與原始記錄序列同樣數量的存儲空間存放歸並結果以及遞歸時深度為log2n(2為底)的棧空間。
因此空間復雜度為O(n+logn),Merge函數中if(SR[i] < SR[j])語句說明需要兩兩比較,不存在跳躍,因此歸並排序是一種穩定的排序演算法,歸並排序是一種比較佔用內存,但卻效率高且穩定的演算法。