Skip to content

alg-js/priority-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@alg/priority-queue

JSR License

A priority queue implemented as a binary heap.

Install

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

Example

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]

About

A priority queue implemented as a binary heap

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published