Selection Sort

选择排序演示

选择排序通过每轮选择未排序部分中的最小元素,并将其与未排序部分的第一个元素交换来逐步排序数组。

动画速度:

Quick Actions

常用操作

Visualization

排序可视化

164
35
177
60
131
141
26
203
128
73

Steps

排序步骤明细

暂无步骤,请点击"开始排序"

Algorithm Info

算法说明

算法步骤

  1. 从第一个元素开始,遍历未排序部分找到最小值。
  2. 将找到的最小值与未排序部分的第一个元素交换位置。
  3. 将已排序部分扩大一个元素,未排序部分缩小一个元素。
  4. 重复步骤 1-3,直到未排序部分为空。

时间复杂度

最坏情况: O(n²) - 需要比较 n(n-1)/2 次

最好情况: O(n²) - 即使数组已排序也需要同样次数

平均情况: O(n²)

空间复杂度

O(1) - 原地排序,不需要额外空间

稳定性

选择排序是不稳定的排序算法,相同元素的相对顺序可能改变。

提示:红色柱子表示当前位置,绿色柱子表示找到的最小值,点击步骤可以回看具体过程。