Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

js-redblacktree

cschen120526MIT1.0.9

Package implements left leaning red black balanced search tree for symbol table key-sorted map

symbol table, balanced search tree, binary search tree, sorted map, hilbert deletion, red black tree, left leaning red black tree

readme

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