В компьютерных науках очередь с приоритетом – это абстрактный тип данных, аналогичный обычной очереди или структуре данных стека, в которой каждый элемент дополнительно имеет связанный с ним "приоритет". В очереди с приоритетом элемент с высоким приоритетом обслуживается раньше элемента с низким приоритетом. В некоторых реализациях, если два элемента имеют одинаковый приоритет, они обслуживаются в том порядке, в котором они были поставлены в очередь; в других реализациях порядок элементов с одинаковым приоритетом остается неопределенным.

Хотя программисты часто реализуют приоритетные очереди с кучами, они концептуально отличаются от куч. Очередь с приоритетом — это такое же понятие, как «список» или «карта»; точно так же, как список может быть реализован с помощью связанного списка или массива, приоритетная очередь может быть реализована с помощью кучи или множества других методов, таких как неупорядоченный массив.

В Javascript нет встроенной очереди приоритетов, но если вы знаете концепцию, очень легко реализовать свой собственный класс очереди приоритетов. В этой статье будет простая реализация приоритетной очереди.

Ниже приведена реализация: Ссылка на Github для копирования кода

Физический путь кода: https://github.com/Rajat2809/Priority-Queue/blob/main/PriorityQueue.js

Использованная литература: