排序
外部排序
多路归并排序
败者树(多路平衡归并)
m路平衡归并排序过程中,实现输入/内部归并排序/输出,
需要设置2个输出缓冲区和2m个输入缓冲区
- k路败者树深度为【log2k】向上取整
置换选择排序
- 为最佳归并树提供初始归并段
最佳归并树
-
初始归并段不足以构成严格k叉树需要添加长度为0的虚段
- 能构成k:(n0-1)%(k-1)=0
- 不能构成:需添加(n0-1)%(k-1)=u,k-u-1个虚段
基本概念
n个关键字的排序比较次数至少是【log2(n!)向上取整】
内部排序
- 内存中的排序
外部排序
稳定性
- 两个相同的元素进行排序之后相对位置是否发生变化
插入排序
直接插入排序
折半插入排序
希尔排序
交换排序
冒泡排序
快速排序
选择排序
简单选择排序
堆排序
归并排序与基数排序
归并排序
N个元素进行k路归并排序,排序趟数m
m = 【logk(N)】向上取整
基数排序
- 基于比较和移动进行排序
内部排序算法比较及应用
思维导图获取关注公众号tansty回复思维导图