排序好處:
- 資料較容易閱讀
- 資料較利于統計及整理
- 可大幅度減少資料搜索時間
按執行時記憶體分類
- 內部排序:排序的資料量小,完全可以在記憶體內進行排序
- 冒泡排序法、選擇排序法、插入排序法、合并排序法、快速排序法、堆積排序法、希爾排序法、基數排序法
- 冒泡排序法、選擇排序法、插入排序法、合并排序法、快速排序法、堆積排序法、希爾排序法、基數排序法
- 外部排序:排序的資料量無法直接在記憶體內進行排序,而必須使用輔助存盤器(硬碟)
- 直接合并排序法、K 路合并法、多相合并法
排序演算法分析
- 演算法是否穩定
- 穩定排序是指資料在經過排序后,兩個相同鍵值的記錄仍然保持原來的順序
- 原始資料:7(左)、2、9、7(右)、6
- 穩定排序:2、6、7(左)、7(右)、9
- 不穩定排序:2、6、7(右)、7(左)、9
- 時間復雜度(省略系數、低階、常量)
- 最好情況(Best Case):資料已完成排序
- 最壞情況(Worst Case):每一鍵值都需重新排列
- 平均情況(Average Case):所有情況次數/所有情況數量
- 空間復雜度
- 演算法在執行程序中所需付出的額外記憶體空間,僅用到一個額外的空間,空間復雜度最好
| 排序名稱 | 排序特性 | |
| 簡單排序法 | 冒泡排序法(Bubble Sort) |
|
| 選擇排序法(Selection Sort) |
|
|
| 插入排序法(Insertion Sort) |
|
|
| 希爾排序法(Shell Sort) |
|
|
| 高級排序法 | 快速排序法(Quick Sort) |
|
| 堆積排序法(Heap Sort) |
|
|
| 基數排序法(Radix Sort) |
|
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/63651.html
標籤:其他
上一篇:Codeforces Round #632 (div.2) C. Eugene and an array
下一篇:1-演算法題之空瓶子換水喝
