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