Skip to content

Package provides javascript implementation of red black tree

License

Notifications You must be signed in to change notification settings

cschen1205/js-redblacktree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Package provides javascript implementation of red black tree

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published