Developer Toolbox

Сортировка выбором

Ищет наименьшее из оставшихся значений и обменом ставит его на следующее место. Обменов очень мало, но число сравнений всегда одинаковое.

  • Ω(n²)
  • Θ(n²)
  • O(n²)
  • O(1)
  • нет
  • да
  • сравнение
  • перемещение
  • текущий минимум
  • на окончательном месте
0 / 399 шагов

Сравнения: 0 · сравнено пар: 0 из 276 сравнивались (темнее = чаще) сравниваются сейчас

Сравнения Обмены

Нажмите «Воспроизвести»: линии покажут, как растут затраты

Нажмите «Воспроизвести» или проходите алгоритм по шагам.

Пробел: воспроизведение или пауза. Стрелки влево и вправо: шаг. Home и End: в начало или в конец.

Попробуйте: Выберите обратный список. Сравнений будет ровно столько же, сколько для любого другого списка.

Как это работает

Просматриваем неотсортированную часть и находим наименьшее значение. Меняем его местами с первым неотсортированным, и ещё одно значение встаёт на своё окончательное место. Оставшиеся значения проверяются всегда все, даже если список уже отсортирован.

Когда стоит применять

Полезна, когда перемещать данные дорого, а читать дёшево: на каждую позицию приходится не больше одного обмена. В остальных случаях лучше взять сортировку вставками.