binarysearch-tree

binary search tree in javascript


Keywords
javascript, BST, node, binarysearchtree
License
MIT
Install
npm install binarysearch-tree@1.2.1

Documentation

binarysearch-tree

binary search tree with basic operations

Build Status

Usage

Example

  var BST = require('binarysearch-tree')
  var t = new BST()
  t.insert(1, 'one')
  t.insert(2, 'two')
  console.log(t.size()) //displays 2
  t.delete(1) //removes node with key 1 

  //perform inorder travel and print value of each node
  t.inorder(function (node) {
    console.log(node.val)
  })

API

tree= new BST()

create new instance of binary tree

tree.insert(key,val)

inserts node with with key as key and value as val. returns 1 if successfully inserted

tree.delete(key)

removes node with key as key from the tree . returns 1 on successful deletion and 0 on failure

tree.size()

returns the number of elements/nodes on the tree

tree.find(key)

returns value of node with key as key . returns null if such key not present

tree.depth(key)

returns depth of node with key as key

tree.height()

returns height of the tree

tree.inorder(callback(node))

performs in-order traversal of tree returning each node on callback function

tree.postorder(callback(node))

performs post-order traversal of tree returning each node on callback function

tree.preorder(callback(node))

performs pre-order traversal of tree returning each node on callback function

tree.isEmpty()

returns true if the tree is empty otherwise false

tree.clear()

resets the tree

tree.isAVL()

returns 1 if the tree is AVL(balanced) else returns 0

tree.rotate(key)

rotates the tree about the node having key as key. Returns 0 if rotation not possible or key not found

License

MIT