sterta

Binary heap


Keywords
heap, data, sort
License
MIT
Install
npm install sterta@2.2.2

Documentation

NPM version Build Status Dependency Status

binary-heap

Binary heap

Installation

$ npm install --save conde42day-binary-heap

Usage

  var h = heap();
  h.push(5);
  h.push(2);

  h.pop(); // 2
  h.pop(); // 5
  h.pop(); // undefined

API

heap(fn, heapIndex)

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

push(item)

adds item to the heap

pop()

pops item from the top of the heap, rebalances the head

peek()

returns the top of the heap, without removing it

rebuild(data)

rebuilds heap to satisfy comparison constraint, if data is provided it is used to reinitialize the heap

popAndRebuild()

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

License

MIT © Damian Krzeminski