C 插入排序:抓牌插牌,
- 简单插入排序,新牌从有序区右侧依次冒泡过来,又叫直接插入排序
- 折半(二分)插入排序,插入的时候用二分法确定位置
D 堆排序: 用堆来挑高子. 左侧为堆(堆得层遍历表示),右侧为有序区,n-1轮{每次堆排序,挑出最大的,放到有序区的左侧},第一轮特殊
G 归并排序: 从最开始的n组开始,相邻的组两两合并(同时排序)
K 快速排序: 递归分大小+萝卜坑. 挑一个数作为基准(左边第一个),分大小区,递归处理大小区{给坑找萝卜思维,'基准'把坑腾出来,从对侧往坑侧找标的,找到了交换并换方向搜索,直到坑在大小区中间,把‘基准’放回去}
M 冒泡排序:拿者令牌去挑战. 右侧为有序区,n-1轮{依次比较相邻的元素,把较大的往后交换}
- 改进冒泡排序:如果本轮无交换,提前终止
S 希尔排序:按间隔分组排序,逐步减小组数
T 桶排序: 按值域分组投桶, 桶内排序再合并, 桶取值为最小到最大等分为k个桶. 适合分布比较均匀的
- 计数排序: 桶对应min到max的每个整数. 适合取值范围尽量小的.
- 基数排序: 多次桶, 以某位数为桶. 数字变字符串,前面补零,按个位十位,百位这样不断排序.进制可变.适合取值范围尽量小的非负整数.
X 选择排序:挑矮子. 左侧为有序区,n-1轮{每次找出最小的,交换到第i个位置}