rbtree
v0.3.0
Published
An implementation of a Red-Black Tree for node.js
Readme
Red-Black Tree
Wikipedia entry for Red-Black Trees
RBTree API
tree = new RBTree(cmp)
cmp is a funtion is a function to compare your keys to determine ordering.
The function will take two of your key type (whatever that will be) and
return -1, 0, xor 1. For cmp(a,b), it returns -1 if a < b, 0
if a == b and 1 if a > b.
tree.nelts
Number of entries in tree.
tree.put(key, value)
Insert key:value pair. It will over-write a pre-existed entry for key.
value = tree.get(key)
Warning: value is undefined if the key was not found. However, you could
have inserted undefined as the value of a key:value pair. Try not to do
that as it lessens the effectivity of this method.
removed = tree.delete(key)
Returns a boolean; true if deleted, false otherwise.
RBTree Criteria
- All nodes are either RED or BLACK
- The root node is BLACK
- All leaves (nulls) are considered BLACK
- Both children of RED nodes must be BLACK
- Every path from a node to the leaves (inclusive) have the same number of BLACK nodes.
Running Tests and Test-coverage
To run tests: npm test
To run test coverage:
npm run-script test-cov
open jscov.html