Package provides javascript implementation of red black tree. The api of the red black tree is designed so that it matches with the api of the Java counterpart SortedMap api.
- Balanced Search Tree with Left Leaning Red Black Tree
- Customizable comparer function for keys
Run the following npm command to install
npm install js-redblacktree
To sort an array "a" using any of the sorting algorithms:
var jsrbtree = require("js-redblacktree");
var bst = new jsrbtree.RedBlackTree();
bst.put(2, 2.4);
bst.put(4, 3.2);
bst.put(5, 3.4);
bst.put(6, 3.4);
bst.put(6, 5.4);
console.log(bst.get(2)); // display 2.4
console.log(bst.get(6)); // display 5.4
console.log(bst.containsKey(6)); // display true
console.log(bst.size()); // display 4;
console.log(bst.isEmpty()); // display false
bst.delete(6);
console.log(bst.size()); // display 3
console.log(bst.containsKey(6)); // display false;
console.log(bst.get(6)); // display undefined
// print out sorted keys
var keys = bst.keySet();
for(var i = 1; i < keys.length; ++i) {
console.log(keys[i]);
}
console.log(bst.minKey());
console.log(bst.maxKey());
If you are handling key which requires custom comparer, you can do so in the constructor:
var jsrbtree = require("js-redblacktree");
var compare = function(a1, a2){
return a1 - a2;
};
var bst = new jsrbtree.RedBlackTree(compare);