В компьютерных науках очередь с приоритетом – это абстрактный тип данных, аналогичный обычной очереди или структуре данных стека, в которой каждый элемент дополнительно имеет связанный с ним "приоритет". В очереди с приоритетом элемент с высоким приоритетом обслуживается раньше элемента с низким приоритетом. В некоторых реализациях, если два элемента имеют одинаковый приоритет, они обслуживаются в том порядке, в котором они были поставлены в очередь; в других реализациях порядок элементов с одинаковым приоритетом остается неопределенным.
Хотя программисты часто реализуют приоритетные очереди с кучами, они концептуально отличаются от куч. Очередь с приоритетом — это такое же понятие, как «список» или «карта»; точно так же, как список может быть реализован с помощью связанного списка или массива, приоритетная очередь может быть реализована с помощью кучи или множества других методов, таких как неупорядоченный массив.
В Javascript нет встроенной очереди приоритетов, но если вы знаете концепцию, очень легко реализовать свой собственный класс очереди приоритетов. В этой статье будет простая реализация приоритетной очереди.
Ниже приведена реализация: Ссылка на Github для копирования кода
Физический путь кода: https://github.com/Rajat2809/Priority-Queue/blob/main/PriorityQueue.js
Использованная литература: