Алгоритм выбора: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
Нет описания правки |
Нет описания правки |
||
Строка 20: | Строка 20: | ||
При каждом рекурсивном вызове, алгоритм позволяет отбросить четверть элементов. |
При каждом рекурсивном вызове, алгоритм позволяет отбросить четверть элементов. |
||
== Литература == |
|||
* {{книга |
|||
|автор = Volker Heun |
|||
|заглавие = Основные Алгоритмы |
|||
|оригинал = Grundlegende Algorithmen |
|||
|ссылка = |
|||
|издание = 1-е изд |
|||
|место = Мюнхен |
|||
|издательство = Vieweg Verlag |
|||
|год = 2000 |
|||
|страницы = 86 |
|||
|isbn = 3-528-03140-9 |
|||
}} |
|||
[[Категория:Алгоритмы]] |
[[Категория:Алгоритмы]] |
Версия от 22:33, 26 июля 2008
Для улучшения этой статьи желательно:
|
BFPRT-Алгоритм предназначен для эффективного поиска i-того элемента в неотсортированном списке. Назван в честь своих изобретателей: Manual Blum, Robert W. Floyd, Vaughan R. Pratt, Ronald L. Rivest и Robert Endre Tarjan. Используется при достаточно длинном списке элементов, свыше 800 элементов.
Принцип действия
Ввод: число , обозначающее -тый элемент
- Список делится на подмножества элементов, по 5 элементов в каждом (кроме последнего подмножества). Число элементов в подмножествах может вариировать от 5 до 21 и должно быть в любом случае нечетным.
- Каждое подмножество сортируется с помощью подходящего алгоритма сортировки.
- Пусть - множество медианов, образовавшихся в подмножествах после сортировки. Рекурсивно находится медиан в - медиан медианов. Назовем его .
- Множества сортируются (каждое по своему медиану) относительно медиана s. Результирующая после 4 шага структура, имеет следующую особенность:
- Четверть всех элементов в любом случае имеет ключ .
- Четверть всех элементов в любом случае имеет ключ .
- Если:
- , то искомый элемент найден - это медиан медианов
- , то алгоритм вызывается рекурсивно на множество всех элементов без
- , то алгоритм вызывается рекурсивно на множество всех элементов без
Особенности
При каждом рекурсивном вызове, алгоритм позволяет отбросить четверть элементов.
Литература
- Volker Heun. Основные Алгоритмы = Grundlegende Algorithmen. — 1-е изд. — Мюнхен: Vieweg Verlag, 2000. — С. 86. — ISBN 3-528-03140-9.