A priority queue implemented as a binary heap.
deno add jsr:@alg/priority-queue
Other Install Options
npx jsr add @alg/priority-queue
bunx jsr add @alg/priority-queue
pnpm i jsr:@alg/priority-queue
yarn add jsr:@alg/priority-queue
vlt install jsr:@alg/priority-queue
A gt
function defining greater priority can be provided to constructor methods
as an option. By default, >
is used.
import {PriorityQueue} from "@alg/priority-queue";
// Look, ma! O(n) heapify!
const q = PriorityQueue.from([2, 4, 3], {gt: (a, b) => a < b});
console.log(q.length); // 3
console.log(q.peek()); // 2
console.log(q.pop()); // 2
q.push(1);
q.pushAll([2, 5]);
console.log([...q]); // [1, 2, 3, 4, 5]