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

2021-08-21 21:46:58 字數 591 閱讀 5753

希爾排序:

//  最優情況下  時間複雜度為 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--)

}

快速排序:

// 快排在樞紐選取時可以優化, 三數取中;  優化不需要的交換 , 交換直接變賦值;  優化小陣列時的排序, high-low 小於一定個數時用直接插入排序 

//  最好情況下 時間複雜度為o(n)  最壞 時間複雜度 o(n^2);  

void swap(vector& v1 , int index1, int index2)

int sortcore(vector&v1, int low, int high)

return low ;

}void qsort(vector& v1,int low , int high)

}

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

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

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

最近在準備資料結構的考試,於是用部落格記錄下自己複習的過程。今天的內容是三種高階排序。希爾排序 當序列增量為incr k 2 t k 1 1時,時間複雜度為o n1.5 以序列增量分組,對每組進行大小調整。templatevoid shellinsert t elem,int n,int incr ...

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

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