时间复杂度
- 平方阶O(n^2):插入排序、选择排序、冒泡排序
- 线性对数阶O(nlogn):快速排序、堆排序、归并排序
- O(n^(1+a)): a介于0到1之间:希尔排序
- 线性阶O(n): 基数排序、桶排序(计数排序)
稳定性
- 稳定:冒泡排序、插入排序、归并排序、基数排序
- 不稳定:选择排序、快速排序、希尔排序、堆排序
是否占用额外内存
- in_place,不占用额外内存:冒泡排序、插入排序、选择排序、希尔排序、快速排序、堆排序
- out_place,占用额外内存:归并排序、计数排序、基数排序、桶排序
python实现十大排序算法
https://github.com/yolochai/jupyternb/blob/master/sort_in_python.ipynb