第八章 排序
- 排序的基本概念
- 插入排序
- 直接插入排序;折半插入排序;希爾排序
- 交換排序
- 冒泡排序;快速排序
- 選擇排序
- 簡單選擇排序;堆排序
- 2路歸並排序
- 基數排序
- 外部排序
- 各種排序算法的比較
- 排序算法的應用
直接插入 躺數 固定 n-1
簡單選擇 躺數 固定 n-1
基數排序不能對 float double實數進行排序 躺數 固定 d
快排 越有序 越不利
堆排序 和歸並排序 無論數列是否有序 時間復雜度 都不變 nlogn
算法復雜度與初始狀態無關的有:選擇排序、堆排序、歸並排序、基數排序。
元素總比較次數與初始狀態無關的有:選擇排序、基數排序。
元素總移動次數與初始狀態無關的有:歸並排序、基數排序。
排序趟數與初始狀態有關的有:快排、冒泡排序。
每趟都能確定一個元素最終位置 簡單,快排(基准) ,冒泡,堆
1.排序的基本概念
2.插入排序
每次將一個待排序的元素 按其關鍵字的大小 插入到前面排好序的序列
3.希爾排序
4.冒泡排序
5.快速排序
快速排序 不穩定
6.簡單選擇排序
7.堆排序
8.堆的插入和刪除
9.歸並排序
10.基數排序
步驟 分配(按照一位數字的大小)
收集()
11.外部排序
12.敗者樹(減少關鍵字對比次數)
13.置換選擇排序(進一步減少歸並段的數量)
14.最佳歸並樹
|