數據結構_1 排序
阿新 • • 發佈:2017-08-01
從後往前 歸並 數據 直接選擇排序 結果 時間復雜度 遍歷 直接插入排序 right
排序分為四種(交換、選擇、插入、合並):
- 交換排序: 包括冒泡排序,快速排序。
- 選擇排序: 包括直接選擇排序,堆排序。
- 插入排序: 包括直接插入排序,希爾排序。
- 合並排序: 合並排序。
冒泡排序:
從後往前依次比較,逐個交換,效率較低,時間復雜度為: 0(n) - 0(n^2) 0(n) - 0(n^2)
快速排序:
通過第一遍的遍歷(讓left和right指針重合)來找到數組的切割點,平均時間復雜度: N(logN),最壞時間復雜度: 0(n^2)
直接選擇排序:
找出基準後最小數進行交換,直接選擇排序的時間復雜度為:O(n^2)
堆排序:
構建並輸出大根堆,堆排序的時間復雜度:O(NlogN)
直接插入排序:
以基準從前往後依次比較插入,時間復雜度為:O(N^2)
希爾排序:
縮小增量排序法,d=count/2k,平均為:O(N^3/2),最壞: O(N^2)
歸並排序:
- “分”, 就是將數組盡可能的分,一直分到原子級別。
- “並”,將原子級別的數兩兩合並排序,最後產生結果。
- 時間復雜度為: O(NlogN),空間復雜度為: O(N)
數據結構_1 排序