Книга: Фундаментальные алгоритмы и структуры данных в Delphi
Глава 9. Очереди по приоритету и пирамидальная сортировка.
Глава 9. Очереди по приоритету и пирамидальная сортировка.
В главе 3 мы рассмотрели несколько очень простых структур данных. Одной из них была очередь. В эту структуру можно было добавлять элементы, а затем извлекать их в порядке поступления. При этом сохранение даты и времени создания записи позволяло не обращать внимания на реальную длину элемента в очереди. Вместо этого мы просто организовали элементы по порядку их поступления в связный список или массив, а затем удаляли их в порядке поступления. При этом использовались две базовые операции: "добавление элемента в очередь" (называемая еще постановкой в очередь) и "удаление самого старого элемента очереди" (или вывод из очереди).
Все это замечательно, и очередь сама по себе является важной структурой данных. Однако ей присуще ограничение, заключающееся в том, что элементы обрабатываются в порядке их поступления. Предположим, что элементы нужно обрабатывать в совершенно ином порядке. Иначе говоря, требуется очередь, для которой по-прежнему определена операция "добавления элемента", но второй операцией является не "удаление самого старого элемента", а "удаление самого большого элемента" или "удаление самого малого элемента". В этом случае упрощенный критерий упорядочения "по возрасту" желательно заменить каким-то совершенно иным критерием. Например, предположим, что элементами очереди являются задачи, которые необходимо выполнить, и требуется извлечь задачу, обладающую наивысшим приоритетом.
- Сортировка и фильтрация списка
- ПРИМЕР: СОРТИРОВКА СТРОК
- При печати появляется сообщение об ошибке подсистемы Диспетчера очереди печати. Что делать?
- Сортировка данных
- Сортировка списков данных
- Практическая работа 50. Сортировка списка данных
- Практическая работа 54. Просмотр и редактирование таблиц. Поиск и сортировка в базе данных
- 9.1.2. Сортировка списков
- Очереди на основе массивов
- Сортировка массивов
- Расширение очереди по приоритету
- Глава 5. Сортировка