https://github.com/google/closure-library/blob/master/closure/goog/structs/heap.js
ди приоритетов имеют значение приоритета и данные для каждой записи.
Таким образом, при добавлении нового элемента в очередь он всплывает на поверхность, если он имеет более высокое значение приоритета, чем элементы, уже находящиеся в коллекции.
Когда кто-то вызывает pop, мы получаем данные для элемента с наивысшим приоритетом.
Какова эффективная реализация такой приоритетной очереди в Javascript?
Имеет ли смысл иметь новый объект с именем PriorityQueue, создать два метода (push и pop), которые принимают два параметра (data, priority)? Это очень важно для меня как для программиста, но я не уверен, какую структуру данных использовать в подбрюшке, которая позволит манипулировать порядком элементов. Или мы можем просто сохранить все это в массиве и каждый раз проходить по нему, чтобы получить элемент с максимальным приоритетом?
Какой хороший способ сделать это?