1.0.9 • Published 7 years ago

js-redblacktree v1.0.9

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

js-redblacktree

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.

Build Status Coverage Status

Features

  • Balanced Search Tree with Left Leaning Red Black Tree
  • Customizable comparer function for keys

Install

Run the following npm command to install

npm install js-redblacktree

Usage

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);