SL

顺序表排序 · 可视化实验室

数据结构导论 / 排序算法实验

连续存储 · 一步一步看见算法
Sorting algorithms

同一组数据,三种排序思路

观察比较、交换与写入怎样发生。每个计数都来自实际算法步骤;动画时间不代表算法效率。

7个元素 · 最多 20 个
正在比较正在交换基准值 pivot已确定最终位置当前处理区间

顺序表 A

准备开始 · 数组格显示数值和下标

等待播放
选择算法后播放,注意观察指针与颜色如何变化。
比较 0交换 0写入 0辅助指标 0

播放控制

逐步观察真实执行事件

同一输入的算法对比

三种算法各自从原始数组副本开始运行。

更换数据后,点击“比较三种算法”生成结果表。

冒泡排序(提前结束)最好 O(n),平均和最坏 O(n²)
选择排序最好、平均和最坏均为 O(n²)
快速排序(Lomuto)最好和平均 O(n log n),最坏 O(n²)
复杂度描述输入规模增长时的趋势,不能直接代替当前输入的实际计数。固定选择末元素作基准的快排,在有序、逆序和全部相等的数据上可能退化。
课堂问题:为什么已排序数组中,选择排序仍要继续比较?