yurivish / flatqueue

A very fast and simple JavaScript priority queue

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flatqueue Build Status

A very fast binary heap priority queue in JavaScript. Similar to tinyqueue, but stores the queue as two flat arrays of item ids and their numeric priority values respectively (without a way to specify a comparator function). This makes the queue more limited, but several times faster.

const q = new FlatQueue();

for (let i = 0; i < items.length; i++) {
    q.push(i, items[i].value); // push an item by passing its id and value
}

q.peekValue(); // top item value
q.peek(); // top item index
q.pop(); // remove and return the top item index

About

A very fast and simple JavaScript priority queue

License:ISC License


Languages

Language:JavaScript 100.0%