常用排序算法
- 冒泡排序
- 插入排序
- 选择排序
- 归并排序
- 快速排序
- 计数排序
- 基数排序
- 桶排序
分析排序算法
-
排序算法的执行效率
最好情况、最坏情况、平均情况时间复杂度
时间复杂度的系数、常数、低阶
比较次数和交换(或移动)次数 -
排序算法的内存消耗
算法的内存消耗可以通过空间复杂度来衡量。原地排序,指空间复杂度是O(1)的排序算法。 -
排序算法的稳定性
稳定性,如果待排序的序列中存在值相等的元素,经过排序之后,想等元素之间原有的先后顺序不变。分为稳定的排序算法和不稳定的排序算法。
如给电商交易系统中的订单排序,订单有两个属性,一个是下单时间,一个是订单金额。如果有10万条数据,希望按照金额从小到大对订单数据排序。对相同金额的订单,按照下单时间从早到晚有序。先按照下单时间给订单排序,排序完成后,用稳定算法,按照订单金额重新排序。