🧮 算法演示 · 时光
← 返回首页

排序算法可视化

选择一个算法,观察它如何逐步把数组排好序。条形高度即数值大小。
比较次数:0 交换/写入次数:0 状态:就绪

复杂度速查

算法平均时间复杂度最坏空间稳定适用场景
冒泡排序O(n²)O(n²)O(1)✅教学入门,小数据量
选择排序O(n²)O(n²)O(1)❌交换次数最少
插入排序O(n²)O(n²)O(1)✅近乎有序的数据、小数组
快速排序O(n log n)O(n²)O(log n)❌通用首选,库函数常用
归并排序O(n log n)O(n log n)O(n)✅稳定排序、链表排序
堆排序O(n log n)O(n log n)O(1)❌需要原地排序的大数据

说明

动画在浏览器本地执行,纯 JavaScript 实现,无外部依赖。
颜色含义:黄色 = 正在比较, 红色 = 正在交换/写入, 绿色 = 已就位。
嵌入式开发里同样处处是排序(如 ADC 采样值排序滤波、Modbus 报文解析、任务调度),理解这些基础算法是写高效固件的第一步。 更多算法内容见 传感器知识 · 算法。