Сортировка выбором
Версия от 14:52, 20 мая 2012; Krotser (обсуждение | вклад)
Сортировка выбором (англ. selection sort) - это простой алгоритм сортировки со сложностью
, где - количество элементов для сортировки. Сортировка выбором предназначена для решения задачи сортировки (sorting problem).Задача сортировки
На входе последовательность из
чисел.На выходе отсортированная последовательность по неубыванию.
Алгоритм
0. Назовем элементы массива списком.
1. Находим номер минимального элемента из текущего списка.
2. Меняем минимальный элемент с первым элементом списка.
3. Если список пуст, то массив отсортирован. Иначе вернемся к шагу 1, убрав первый элемент из списка.
Пример
Пусть дана последовательность из
элементов .Белым фоном обозначен текущий список, зеленым отсортированная часть, а красным минимальный элемент.
Реализация
// Входной массив x, содержащий n элементов. for (i = 0 to n - 1) int min = i; for (j = i + 1 to n - 1) if (x[j] < x[min]) min = j; swap(x[i], x[min]); // Массив x отсортирован
Ссылки
Литература
- Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ, 2-е издание. М.: Издательский дом "Вильямс", 2005. ISBN 5-8459-0857-4