《算法》学习笔记2.1 初级排序算法
生活随笔
收集整理的這篇文章主要介紹了
《算法》学习笔记2.1 初级排序算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2.1 初級排序算法
- 2.1.1 選擇排序
- 2.1.2 插入排序
- 2.1.3 選擇、插入排序比較
- 2.1.4 希爾排序
- 2.1.5 其他
- 數據類型
- 幾種典型的部分有序數組
- 插入排序中的哨兵
2.1.1 選擇排序
1.思想
不斷地選擇剩余元素之中的最小者
2.1.2 插入排序
1.思想
插入已經有序的數組中的適當位置,其余元素在插入之前都向右移一位
2.最優適用情況
- 部分有序的數組;
- 小規模數組
2.1.3 選擇、插入排序比較
| 選擇排序 | 長度為N | N2/2 | N |
| 插入排序 | 長度為N且主鍵不重復 | 最壞:N2/2 最好:N2/2 | 最壞:N-1 最好:0 |
比較兩種排序算法:sortCompare()
2.1.4 希爾排序
1.思想
使數組中任意間隔為h的元素有序的
2.最優適用情況
- 中等大小的數組;
- 需要解決一個排序問題而又沒有系統排序函數可用,可先用希爾,再考慮是否值得用其他替代
2.1.5 其他
數據類型
實現Comparable()接口
幾種典型的部分有序數組
- 數組中的每個元素距離他的最終位置都不遠
- 一個有序的大數組接一個小數組
- 數組中只有幾個元素的位置不正確
插入排序中的哨兵
插入排序的實現中先找出最小的元素將其置于數組的最左邊,這樣就能去掉內循環的判斷條件j>o,這是一種常見的規避邊界測試的方法,能夠省略判斷條件的元素通常被稱為哨兵
總結
以上是生活随笔為你收集整理的《算法》学习笔记2.1 初级排序算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: excise2
- 下一篇: 《算法》第四版学习笔记目录