希爾排序,快速排序,堆排序

2021-08-14 06:56:13 字數 478 閱讀 4849

最近在準備資料結構的考試,於是用部落格記錄下自己複習的過程。今天的內容是三種高階排序。

希爾排序

當序列增量為incr[k]=2(t-k+1)-1時,時間複雜度為o(n1.5)。以序列增量分組,對每組進行大小調整。

templatevoid shellinsert(t elem,int n,int incr)

templatevoid quicksort(t elem,int n)

堆排序

最壞情況下時間複雜度為o(nlogn),只占用乙個用於臨時交換的臨時儲存空間

templatevoid siftadjust(int elem,int high,int low)

}templatevoid heapsort(int elem,int n)

}

希爾排序,堆排序,快速排序

插入排序的改進演算法,不穩定的排序演算法,空間複雜度為o 1 public static void shellsort int a 氣泡排序的改進演算法,不穩定的排序演算法 空間複雜度在o log2n 和o n 之間 時間複雜度在o n 和o n2 之間,平均時間複雜度為o nlog2n 而當陣列初...

希爾排序,堆排序,快速排序

希爾排序 最優情況下 時間複雜度為 o n 1.3 最差的情況下為 o n 2 增量序列的最後乙個增量值必須等於1 shell sort vector v1 堆排序 void heapadjust int a,int m,int n for i n i 1 i 快速排序 快排在樞紐選取時可以優化,三...

幾種排序,希爾排序,快速排序,堆排序,歸併排序

因為最近看了一點stl,所以用vector代替了陣列,從別的地方借鑑了很多,只是簡單的實現,也沒有做什麼優化,其實也不會 include include includeusing namespace std void print vectorv swap v left v high quick so...