Toptal连接了前3%的 自由开发人员 世界各地.
选择排序
动画,代码,分析,并讨论了4个初始条件的选择排序.
讨论
从这里提供的比较中,可以得出这样的结论:永远不应该使用选择排序. 它不以任何方式适应数据(注意上面的四个动画在锁定步进中运行), 所以它的运行时间总是二次的.
然而,选择排序具有最小化交换次数的特性. 在交换项的成本很高的应用程序中, 选择排序很可能是选择的算法.
关键
- 黑色值排序.
- 灰度值未排序.
- 红色三角形标记算法位置.
属性
- 不稳定
- O(1)额外空间
- Θ(n2)比较
- Θ(n)互换
- 不适应