Алгоритм выбора
- Алгоритм выбора – алгоритм для нахождения наименьшего значения в коллекции упорядоченных значений.
- Отбор включает в себя задачи нахождения минимального, среднего и максимального элемента в коллекции.
- Алгоритмы выбора включают быстрый выбор и алгоритм медианы медиан.
- При применении к коллекции n значений, эти алгоритмы требуют линейного времени, O(n).
- Для уже структурированных данных могут быть использованы более быстрые алгоритмы.
- Постановка задачи: алгоритм для решения задачи выбора принимает в качестве входных данных набор значений и число k.
- Алгоритм сортировки и выбора кучи: базовый алгоритм – поиск наименьшего значения в наборе значений с помощью сортировки и выбора.
- Поворачивающийся метод: основан на выборе специального “сводного” элемента и использовании сравнений для разделения оставшихся n-1 значений в два подмножества.
- Метод медианы медиан: разбивает входные данные на наборы из пяти элементов и находит медиану каждого из этих наборов.
- Гибридные алгоритмы: introselect – для достижения практической производительности quickselect с возможностью возврата к средним значениям.
- Параллельные алгоритмы: изучаются с 1975 года, в рандомизированной модели дерева параллельных сравнений возможно выполнение выбора за ограниченное число шагов и линейное число сравнений.
- Сублинейные структуры данных: когда данные уже организованы в структуру данных, возможно выполнить выборку за сублинейное время по количеству значений.
- Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала.
Полный текст статьи: