排序 總結(8)

2021-09-24 16:37:58 字數 684 閱讀 1025

穩定排序:

*  氣泡排序( bubble sort )  — o(n²)

*  插入排序 ( insertion sort ) — o(n²)

*  桶排序 ( bucket sort ) — o(n);  需要  o(k)  額外空間

*  計數排序  (counting sort) — o(n+k);  需要  o(n+k)  額外空間

*  合併排序 ( merge sort ) — o(n log n);  需要  o(n)  額外空間

*  二叉排序樹排序 ( binary tree sort )  — o(n log n) 期望時間 ; o(n²) 最壞時間 ;  需要  o(n) 額外空間

*  基數排序 ( radix sort ) — o(n·k);  需要  o(n)  額外空間

.不穩定排序

*  選擇排序 ( selection sort ) — o(n²)

*  希爾排序 ( shell sort ) — o(n log n)  如果使用最佳的現在版本

*  堆排序 ( heapsort ) — o(n log n)

*  快速排序 ( quicksort ) — o(n log n)  期望時間 , o(n2)  最壞情況 ;  對於大的、亂數序列一般相信是最快的已知排序

8種排序演算法總結

1.直接插入排序 原理 將陣列分為無序區和有序區兩個區,然後不斷將無序區的第乙個元素按大小順序插入到有序區中去,最終將所有無序區元素都移動到有序區完成排序。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。實現 void sortnumber method2 int array,int length ...

8大排序總結

include includeusing namespace std void select sort vector a 選擇排序 非穩定 void bubble sort vector a 氣泡排序 void insert sort vector a 插入排序 有序最快 void shell so...

排序方法8大總結

1.氣泡排序 思想 一共進行n 1次比較 假定序列個數為n 每次比較重都會有乙個最大的元素沉底 includeusing namespace std void bubblesort int a,int length 2.選擇排序 演算法思想 在每次遍歷序列時,通過將該位值元素與之後序列中的元素直接比...