排序
排序
内部排序:数据都在内存。时空复杂度低。
外部排序:数据放在内存和磁盘。读写磁盘次数少。
插入排序
每次将一个待排序的记录按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。
| 直接插入 | 折半插入 | 希尔 | 冒泡 | 快速 | |
|---|---|---|---|---|---|
| 描述 | 从A[2]开始逐个与前面元素比较,小则存入A[0]直至比较全部结束 | 将排序表分割成间隔相同的子表,子表分别进行插入排 序直到间隔为1 | 两两比较相邻元素,若为逆序则交换,直至比较完成,即不出现交换。 | ||
| 类别 | 插入排序 | 插入排序 | 插入排序 | 交换排序 | 交换排序 |
| 空间效率 | \(O(1)\) | \(O(1)\) | \(O(1)\) | \(O(递归层数)\) | |
| 时间效率 | \(O(n^2)\) | \(O(n^2)\) | \(O(n^2)\) | \(O(n^2)\) | |
| 稳定性 | 稳定 | 稳定 | 不稳定 | 稳定 | |
| 适应性 | 顺序表链表 | 顺序表 | 顺序表 | 顺序表链表 | |
| 优点 | 数据量小的表 | 优 于直接插入排序 |

浙公网安备 33010602011771号