排序
基本概念:
- 算法稳定性质:若待排序表中有两个元素$R_i $ $R_j $ ,对应关键字是 k e y i key_i keyi k e y j key_j keyj ,且排序前$R_i $在 $R_j $ 的前面,若排序后相对位置依旧变,则称这个排序算法是稳定的,反之是不稳定的。
插入排序:
- 直接排序
- 直接插入排序
- 折半插入排序
- 希尔排序:先将待排序表分割成若干个形如 L [ i , i + d , i + 2 d , . . . , i + k d ] L[i, i+d, i+2d ,..., i+kd] L[i,i+d,i+2d,...,i+kd] 的“特殊”子表,分别进行直接插入排序,当整个表中的元素已呈“基本有序”时,再对全体进行一次插入排序
- 交换排序:
- 冒泡排序
- 快速排序
- 选择排序:
- 简单选择排序
- 堆排序
- 归并排序和基数排序
- 归并排序
- 基数排序