2016-11-28 2 views
0

Как очередь приоритетов Структура данных очереди. Поскольку он не соответствует FIFO, не следует ли его называть массивом приоритета или приоритетом, связанным с LIst, поскольку главным приоритетом являются очереди приоритетов, такие как очередь FIFOПриоритетные очереди VS Queues

ответ

1

В очереди с приоритетом подается элемент с высоким приоритетом перед элементом с низким приоритетом. «Если два элемента имеют одинаковый приоритет, они обслуживаются в соответствии с их порядком в очереди» я думаю, что это ответ на ваш вопрос

1

Если вы посмотрите на наиболее часто используемые реализации, приоритетные очереди по существу куч - они организованы определенным образом на основе приоритета, определенного программистом, - в простом примере - в порядке возрастания или убывания целых чисел.

Думайте о очереди приоритетов как о очереди, где вместо того, чтобы извлекать элементы, основанные на добавлении элемента, вы извлекаете их на основе того, как они сравниваются друг с другом. Это сравнение может быть просто восходящим или убывающим в примерах учебников. Вы можете понять ADT из аналогии с другого ответа StackOverflow:

Вы бежите больницы и пациенты приходят Там только один врач на персонал.. Первый мужчина идет - и он немедленно слушается. Далее приходит человек с холодом и нуждается в помощи. Вы добавляете его в очередь, и он ждет в очереди, чтобы врач стал доступен. Затем в дверь входит человек с топором в голове. Он назначил более высокий приоритет, потому что он является более высокой медицинской ответственностью. Таким образом, человек с холодом сталкивается в очереди. Затем, кто-то приходит с проблемами с дыханием. Итак, еще раз, человек с холодом столкнулся с приоритетом. Это называется trigaing в реальном мире - , но в этом случае это медицинская линия.

Внедрение этого кода будет использовать очередь приоритетов и рабочий поток (врач) для выполнения работ по потребляемым/единицам работы (пациенты).

В реальном сценарии вместо пациентов у вас могут быть процессы, ожидающие рассмотрения CPU.

Прочитано: When would I use a priority queue?

Смежные вопросы