常見排序演算法總結如下:
排序方法
name
平均情況
最好情況
最壞情況
輔助空間
穩定性氣泡排序
bubblesort
o(n^2)
o(n)
o(n^2)
o(1)
穩定簡單選擇排序
******selectionsort
o(n^2)
o(n^2)
o(n^2)
o(1)
穩定直接插入排序
straightinsertionsort
o(n^2)
o(n)
o(n^2)
o(1)
穩定希爾排序
shell
o(nlogn)~o(n^2)
o(n^1.3)
o(n^2)
o(1)
不穩定堆排序
heapsort
o(nlogn)
o(nlogn)
o(nlogn)
o(1)
不穩定歸併排序
mergingsort
o(nlogn)
o(nlogn)
o(nlogn)
o(n)
穩定快速排序
quicksort
o(nlogn)
o(nlogn)
o(n^2)
o(nlogn)~o(n)
不穩定
上面有很好的例項方便理解。
常見排序演算法總結
sort.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std const int len 100 class csort 注意此處應該有分號 csort csort length len 建構函式,初始化陣列 arr j 1 ...
常見排序演算法總結
1.氣泡排序 蠻力法 基本思想 兩兩比較相鄰記錄,如果反序側交換,直到沒有反序的記錄為止。如果是正序排,將待排序的元素看作是豎著排列的 氣泡 較小的元素比較輕,從而要往上浮。時間複雜度 o n n void bubblesort int a,int n 優化的氣泡排序 if flag 0 break...
常見排序演算法(總結)
演算法名 時間複雜度 空間複雜度 穩定性氣泡排序o n2 o 1 不穩定 選擇排序o n2 o 1 不穩定 插入排序o n2 o 1 穩定 歸併排序o nlog n o n 可以優化到o 1 穩定 快速排序o nlog n o logn n 不穩定 堆排序o n logn o 1 不穩定 希爾排序o...