排序算法动画可视化
选择 冒泡 / 插入 / 选择 / 归并 / 快速 / 堆排序,观看每一步比较(黄)、交换(红)、回填(紫)、就位(绿)的动画演示;支持自定义数组、调节规模与速度,实时统计比较与移动次数,纯浏览器本地运行。
算法与控制
动画舞台
比较中
交换
回填写入
已就位
比较 0 次
交换/写入 0 次
步骤 0 / 0
数组 16 个元素
数据集预设(8 种典型输入)
输入分布会显著改变比较与交换次数:近有序时插入排序接近 O(n),全相等不触发任何交换,逆序是冒泡与插入的最坏情况。点击任一预设立即载入并重算全部步骤。
步骤时间轴(点击定位)
横轴为步骤序号,色带按动作类型分段(黄=比较、红=交换、紫=回填、绿=就位)。点击或拖动时间轴上任意位置即可跳转到该步骤,并从初始数组快速回放至该状态。
步骤日志
下方显示最近 14 步,最新在上;复制与导出的内容包含本次排序的全部步骤。
尚无步骤:点「单步」或「播放」后,这里会逐条记录比较、交换、回填与就位动作。
六种排序复杂度对照
| 算法 | 平均时间 | 最坏时间 | 空间 | 稳定性 | 要点 |
|---|---|---|---|---|---|
| 冒泡 | O(n²) | O(n²) | O(1) | 稳定 | 相邻比较,每轮把最大值「冒」到末尾 |
| 插入 | O(n²) | O(n²) | O(1) | 稳定 | 近似有序时最快,接近 O(n) |
| 选择 | O(n²) | O(n²) | O(1) | 不稳定 | 每轮选最小值交换到前部,交换次数最少 |
| 归并 | O(n log n) | O(n log n) | O(n) | 稳定 | 分治两两合并,外部排序与链表首选 |
| 快速 | O(n log n) | O(n²) | O(log n) | 不稳定 | 基准分区,实际平均最快,面试必考 |
| 堆 | O(n log n) | O(n log n) | O(1) | 不稳定 | 大顶堆反复取堆顶 + 下沉调整 |
方案管理 · 数值对比 · 导出
调好的参数可存成方案随时载入,也能生成可分享链接;结果里的数值列会自动画成对比图,并支持导出 CSV / JSON。

还没有留言,来抢沙发吧!