Toptal连接了前3%的 自由开发人员 世界各地.

随机初始顺序

动画,代码,分析和讨论8排序算法的随机初始顺序.

使用方法: 新闻 “玩”,或选择    button.

所有玩
播放动画
插入
播放动画
选择
播放动画
泡沫
播放动画
壳牌
播放动画
合并
播放动画
播放动画
快速
播放动画
快速3

讨论

为了阐明“典型”情况和便于数学分析,通常使用随机初始顺序来评估排序算法. 对于某些应用程序, 然而, 这并不代表典型的情况, 所以这里得出的结论不能一概而论.

这里我们可以看到O(n)2)基本排序算法(插入、选择、冒泡)和更高级的算法.

关键

  • 黑色值排序.
  • 灰度值未排序.
  • 红色三角形标记算法位置.
  • 深灰色值表示当前间隔(shell、merge、quick).
  • 一对红色三角形标记了左右指针(快速).

准备技术面试? 看看我们的采访指南吧.