Nifty Procrastination Machine

    binaryheap

    0.0.3 • Public • Published

    BinaryHeap

    Basic binary heap tree using linked lists

    Usage

    var BinaryHeap = require('binaryheap');
    var heap = new BinaryHeap();
     
    var a = [6, 5, 3, 1, 8, 7, 2, 4];
     
    a.forEach(function (k) {
      heap.insert({ value: k }, k);
    });
     
    heap.print();
     
    while (heap.length) {
      console.log('popping', heap.pop().value);
    }

    By default it stores as a max-heap, if you pass truthy to the constructor though it will behave as a min-heap.

    Methods

    • insert(obj, key) -- obj can be any new or existing object, and key is any value that behaves sanely with > or <
    • pop() -- removes and returns the maximum or minimum object from the root of the heap
    • remove(obj) -- removes a previously inserted object from the heap
    • print() -- mostly for debugging purposes prints a graphviz dot style digraph to confirm ordering

    Members

    • length -- number of objects currently in the heap

    Keywords

    none

    Install

    npm i binaryheap

    DownloadsWeekly Downloads

    6,671

    Version

    0.0.3

    License

    none

    Last publish

    Collaborators

    • tjfontaine