问题:
无序→有序
解决思路:
一、
- 范围递进
直接插入排序:从第二个元素开始,将大于该值的元素后移,直到该元素被放到适当位置,短有序列→长有序列
构建堆:从仅有三个节点的最后一个子堆开始,子堆有序→堆有序 - 精确度递进
希尔排序:基本有序→整体有序,且增量不断减少,即精确度不断增加
快速排序:以pivot序列为中心,左小右大;子序列长度不断减小,左右元素越来越少,精确度增加 - 假设已有一个有序数列
直接插入排序
希尔排序(以直接插入为基础)
构建堆
二、
- 依次找最值
冒泡排序、简单选择排序、堆排序 - 分段排序再合并/依次递进
直接插入排序、希尔排序、快速排序、归并排序