Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

Глава 8. Кучи и приоритетные очереди

Приоритетный тип данных резюме очереди

Приоритетная очередь - абстрактный тип данных для хранения коллекции расположенных по приоритетам монетных дворов ele-, которая поддерживает произвольную вставку элемента, но поддерживает удаление элементов в порядке приоритета, то есть, элемент с первоочередной задачей может быть удален в любое время. Этот ADT существенно отличается от основанных на положении структур данных, таких как стеки, очереди, deques, списки, и даже деревья, мы обсудили в предыдущих главах. Эти другие структуры данных хранят элементы в определенных положениях, которые часто являются положениями в линейном расположении элементов, определенных вставкой и выполненными операциями по удалению. Приоритетная очередь ADT хранит элементы согласно их приоритетам и не имеет никакого внешнего понятия «положения».

8.1.1 Ключи, приоритеты и общее количество заказывают отношения

Заявления обычно требуют сравнения и ранжирования объектов согласно pa-rameters или свойствам, названным «ключами», которые назначены на каждый объект в collec-tion. Формально, мы определяем ключ, чтобы быть объектом, который назначен на элемент как определенный признак для того элемента, и это может использоваться, чтобы определить, оценить, или взвесить тот элемент. Обратите внимание на то, что ключ назначен на элемент, как правило пользователем или AP - plication; следовательно, ключ мог бы представлять собственность, которой первоначально не обладал элемент.

Ключ, который применение назначает на элемент, не обязательно уникален, однако, и применение может даже изменить ключ элемента, если это должно. Например, мы можем сравнить компании доходом или численностью персонала; следовательно, любой из этих параметров может использоваться в качестве ключа для компании, в зависимости от infor-страны, которую мы хотим извлечь. Аналогично, мы можем сравнить рестораны рейтингом качества пищи критика или средним числом entr´e цена. Достигнуть большей части общности тогда, мы e

позвольте ключу иметь любой тип, который подходит для особого применения.

Как в примерах выше, ключ, используемый для сравнений, часто является больше, чем единственное численное значение, такими как цена, длина, вес или скорость. Таким образом, ключ может иногда быть более сложной собственностью, которая не может быть определена количественно с единственным числом. Например, приоритет резервных пассажиров обычно определяется, принимая во внимание массу различных факторов, включая частый - fl ваш статус, проезд, оплаченный, и время регистрации. В некоторых заявлениях ключ для объекта - данные, извлеченные из самого объекта (например, это могла бы быть членская переменная хранение объявленной рыночной цены книги или веса автомобиля). В других заявлениях ключ не часть объекта, но внешне произведен применением (например, оценка качества, данная запасу финансовым аналитиком или приоритету, назначенному на резервного пассажира агентом ворот).