$ npm install --save conde42day-binary-heap
var h = heap();
h.push(5);
h.push(2);
h.pop(); // 2
h.pop(); // 5
h.pop(); // undefined
fn
- compare function, by default numerical comparison resulting in min-heap
, see tests for max-heap
example
heapIndex
- if truthy, heap will use item's _heapIndex
property to track its position on the heap, it speeds up item removals, but can slow down operations for smaller heaps
adds item
to the heap
pops item from the top of the heap, rebalances the head
returns the top of the heap, without removing it
rebuilds heap to satisfy comparison constraint, if data
is provided it is used to reinitialize the heap
pop and immediately rebuild the heap, implemented in a slightly more efficient manner than separate pop()
and
rebuild()
- useful when heap needs to be rebalanced after top is removed, because some of the items might have changed
their relative weights
MIT © Damian Krzeminski