排序算法名称 | 时间复杂度 | 基于比较 |
---|---|---|
插入,冒泡,选择 | O(n2) | |
快排,归并 | O(nlogn) | |
桶,计数,基数 | O(n) |
从三个维度衡量一个算法好坏:
稳定性
对对象排序,要考虑稳定性,比如对角标进行从小到大排序:B2,B1,B3,A2,有两种结果:
- B1,B2,A2,B3
- B1,A2,B2,B3
结果 1 是稳定的,排序前 B2 在 A2 前,排序后,B2 也在 A2 前。反之,结果 2 是不稳定的。
排序算法名称 | 时间复杂度 | 基于比较 |
---|---|---|
插入,冒泡,选择 | O(n2) | |
快排,归并 | O(nlogn) | |
桶,计数,基数 | O(n) |
从三个维度衡量一个算法好坏:
稳定性
对对象排序,要考虑稳定性,比如对角标进行从小到大排序:B2,B1,B3,A2,有两种结果:
结果 1 是稳定的,排序前 B2 在 A2 前,排序后,B2 也在 A2 前。反之,结果 2 是不稳定的。