时间复杂度
快(快速)些(希尔)以nlogn(平均时间复杂度)的速度归(归并)队(堆);基数特殊(d(n+r));其他n^2
稳定性
不稳定,快(快速)些(希尔)选(选择)一堆(堆)朋友
插入排序
- 直接插入排序
- 折半插入排序
- 希尔排序
希尔排序
- 确定增量d
- 写上数组下标
- 根据增量和数组下标进行插入排序
- d = d/2下取整
- 重复2,3,4,最后一次增量为1
交换排序
- 冒泡排序
- 快速排序
快速排序
- 取一个关键数据(一般为第一个元素)
- 高位游标从后往前比较关键数据
- 低位游标从前往后比较关键数据
选择排序
- 简单选择排序
- 堆排序
堆排序
注意:先确定是大根堆还是小根堆
- 建堆
- 堆调整
- 从最下右的叶子往根部走
- 先比较两个叶子,再比较双亲与叶子
基数排序
- 分组
- 收集
- 重新执行1、2