Modular version of [Tyriar/js-data-structures/lib/fibonacci-heap.js](https://github.com/Tyriar/js-data-structures/blob/master/lib/fibonacci-heap.js)
npm install fibonacciheap
WARNING: This module is now deprecated. Please replace with @tyriar/fibonacci-heap
| Algorithm | clear | decreaseKey | delete | extractMinimum | findMinimum | insert | isEmpty | size | union |
|------------------------|--------|-------------|------------|----------------|-------------|----------|---------|------|----------|
| Fibonacci heap | Θ(1)\ | Θ(1)\ | O(log n)\ | O(log n)\ | Θ(1) | Θ(1) | Θ(1) | Θ(n) | Θ(1) |
\* amortised
Installation
-------------
$ npm install fibonacciheap
Methods
--------
clear()
> Clears the heap's data, making it an empty heap.
>
decreaseKey(node, newKey)
> node: Node, the node to be decreased
>
> newKey: number, the new key value
>
delete(node)
> node: Node, the node to remove from the heap
>
extractMinimum()
> Returns
>
> Node, the node with the smallest key
findMinimum()
> Returns
>
> Node, the node with the smallest key
insert(key, value)
> key: number,
>
> value: object, any value associated with the node to insert
>
> Returns
>
> Node, the node that was inserted
isEmpty()
> Returns
>
> boolean, true if the heap is empty
size()
> Returns
>
> number, the amount of nodes in the heap
union(other)
> other: FibonacciHeap, the FibonacciHeap to union with this one
>
compare(a, b)
> a: Node, a node to compare
>
> b: Node, a node to compare
>
> Returns
>
> number, 1 if a has a larger key than b, -1 if b has a larger key than a and 0 if they are equal
Running Tests
--------------
Install the development dependencies:
$ npm install
Then run the tests:
$ npm test
Code Coverage
--------------
Install the development dependencies:
$ npm install
Then run coverage
$ npm run coverage
View coverage reports
$ firefox coverage/lcov-report/index.html
Browser Bundle
---------------
$ npm run build