@dsinjs/binary-tree
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

@dsinjs/binary-tree

Data structure in your JavaScript code, Binary Trees.

Build Status Node.js CI

Overview

Binary Tree in Javascript

      tree
      ----
       j    <-- root
     /   \
    f      k  
  /   \     \
 a     h     z    <-- leaves
  • Binary tree always has nodes with maximum children of 2.
  • Index starts with 1 such that index of j is 1, f is 2, z is 7 and so on.
  • Root is single node always on top of the tree, in this case its j.
  • Leaves nodes are the nodes who does not have any children, in this case its a, h, z.

Installation

Using npm

npm install @dsinjs/binary-tree --save

Or directly on your browser, simply download your file from the following:

<script type="application/javascript" src="dsinjs-binarytree.js"></script>
<script type="application/javascript" src="dsinjs-binarytree.min.js"></script>

Usage

const { BTreeNode, BTree } = require('@dsinjs/binary-tree');
var node = new BTreeNode({ value: 10 });
var nodel = new BTreeNode({ value: 15, lNode: node });
var tree = new BTree(10);
tree.insert(20);
tree.insert(30);
tree.delete(30);
tree.toArray(); // [{value:10,...},{value:20,...}]
// Classic ES6 iterations
for (const node of tree) {
    console.log(node.value); // 10, 20
}

All Features:

  • All Binary Tree data structure functionality.
  • 25+ Binary Tree functions.
  • Main functions like insert(), delete(), each(), find(), sort() etc.
  • Extended functions like entries(), Symbol.iterator, supports for...of loops.
  • Conversion methods like fromArray(), toArray(), toString(), toJSON().

Complete Documentation

Checkout DOCUMENTATION.md for complete documentation or View Documentation online at https://dsinjs.github.io/binary-tree/

Note: May need to use polyfills for Array.entries(), to make BTree work in older browsers like IE11.

Help us expand

Let me know in issues/github page or on email which javascript functions to include in next release. Check all the Contributing authors to this library.

Package Sidebar

Install

npm i @dsinjs/binary-tree

Weekly Downloads

6

Version

2.0.1

License

MIT

Unpacked Size

128 kB

Total Files

14

Last publish

Collaborators

  • siddhesh3