Как очередь приоритетов Структура данных очереди. Поскольку он не соответствует FIFO, не следует ли его называть массивом приоритета или приоритетом, связанным с LIst, поскольку главным приоритетом являются очереди приоритетов, такие как очередь FIFOПриоритетные очереди VS Queues
ответ
В очереди с приоритетом подается элемент с высоким приоритетом перед элементом с низким приоритетом. «Если два элемента имеют одинаковый приоритет, они обслуживаются в соответствии с их порядком в очереди» я думаю, что это ответ на ваш вопрос
Если вы посмотрите на наиболее часто используемые реализации, приоритетные очереди по существу куч - они организованы определенным образом на основе приоритета, определенного программистом, - в простом примере - в порядке возрастания или убывания целых чисел.
Думайте о очереди приоритетов как о очереди, где вместо того, чтобы извлекать элементы, основанные на добавлении элемента, вы извлекаете их на основе того, как они сравниваются друг с другом. Это сравнение может быть просто восходящим или убывающим в примерах учебников. Вы можете понять ADT из аналогии с другого ответа StackOverflow:
Вы бежите больницы и пациенты приходят Там только один врач на персонал.. Первый мужчина идет - и он немедленно слушается. Далее приходит человек с холодом и нуждается в помощи. Вы добавляете его в очередь, и он ждет в очереди, чтобы врач стал доступен. Затем в дверь входит человек с топором в голове. Он назначил более высокий приоритет, потому что он является более высокой медицинской ответственностью. Таким образом, человек с холодом сталкивается в очереди. Затем, кто-то приходит с проблемами с дыханием. Итак, еще раз, человек с холодом столкнулся с приоритетом. Это называется trigaing в реальном мире - , но в этом случае это медицинская линия.
Внедрение этого кода будет использовать очередь приоритетов и рабочий поток (врач) для выполнения работ по потребляемым/единицам работы (пациенты).
В реальном сценарии вместо пациентов у вас могут быть процессы, ожидающие рассмотрения CPU.
Прочитано: When would I use a priority queue?
- 1. Приоритетные очереди в C++
- 2. Приоритетные очереди на Java
- 3. Приоритетные очереди в PHP
- 4. JMS Selector vs. Individual Queues
- 5. c - kernel - spinlocks vs queues
- 6. Capped collections vs Queues
- 7. Azure Queues vs Темы
- 8. asyncio и coroutines vs task queues
- 9. Как реализовать приоритетные очереди в Python?
- 10. Приоритетные очереди сортировки всех товаров, кроме последних
- 11. Приоритетные очереди в параллельной библиотеке задач
- 12. Nodes, Queues, De-queues
- 13. jms: queues vs seda: in Apache Camel
- 14. Google App Engine - Task Queues vs Cron Jobs
- 15. Приоритетные очереди с ребусом, контролируемые потребителем, а не издателем
- 16. Приоритетные очереди в дискретном симуляции событий и mdelling
- 17. Tibco- EMS Queues
- 18. Rails: Resque parellel queues
- 19. De-dupe Sidekiq queues
- 20. POSIX queues и msg_max
- 21. Hangfire queues повторяющиеся задания
- 22. Vector of queues
- 23. sidekiq: удаленные очереди на странице sidekiq/queues - как их вернуть?
- 24. Google App Engine, Task Queues
- 25. C# Threading and Queues
- 26. Message Broker Queues and MessageType
- 27. Azure Webjobs and Queues
- 28. Laravel queues not working
- 29. Java Queues and Stacks
- 30. Mina Sidekiq Queues