JavaScript Data Structures - The Binary Tree
Written by Ian Elliot
Thursday, 15 October 2020
Article Index
JavaScript Data Structures - The Binary Tree
Tree-Relative
Listing
Page 3 of 3

The full listing


function BinaryTree(){
this.Nodes = new Array();
this.level = 0;
this.node = 0;

this.setNode = function(value,level,node){
if (level === undefined) {
this.Nodes[this.btSMF(this.level, this.node)] = value;
}else {
this.Nodes[this.btSMF(level,node)] = value;
}
}

this.getNode = function(level, node){
if (level === undefined) {
return this.Nodes[this.btSMF(this.level,this.node)];
}else {
return this.Nodes[this.btSMF(level,node)];
}
}

this.root = function(value){
this.level = 0;
this.node = 0;
if (value !== undefined) {
this.Nodes[this.btSMF(this.level,this.node)] = value;
}
return this.Nodes[this.btSMF(this.level,this.node)];
}

this.leftChild = function(value){
this.level++;
this.node = this.node * 2;
if (value !== undefined) {
this.Nodes[this.btSMF(this.level,this.node)] = value;
}
return this.Nodes[this.btSMF(this.level,this.node)];
}

this.rightChild = function(value){
this.level++;
this.node = this.node * 2 + 1;
if (value !== undefined) {
this.Nodes[this.btSMF(this.level, this.node)] = value;
 }
return this.Nodes[this.btSMF(this.level, this.node)];
}

this.parent = function(value){
this.level--;
this.node = this.node >> 1;
if (value !== undefined) {
this.Nodes[this.btSMF(this.level, this.node)] = value;
}
return this.Nodes[this.btSMF(this.level,this.node)];
}

this.btSMF = function(level, node){
return node + (1 << level) - 1;
}

[画像:datastruct]


JavaScript Data Structures

Cover

Contents

  1. The Associative Array
  2. The String Object
  3. The Array object
  4. Speed dating - the art of the JavaScript Date object
  5. Doing JavaScript Date Calculations
  6. A Time Interval Object
  7. Collection Object
  8. Stacks, Queue & Deque
  9. The Linked List
  10. A Lisp-like list
  11. The Binary Tree
  12. Bit manipulation
  13. Typed Arrays I
  14. Typed Arrays II
  15. Master JavaScript Regular Expressions
    * First Draft

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

pico book

Comments




or email your comment to: comments@i-programmer.info

<ASIN:1871962625>

<ASIN:1871962420>

<ASIN:1871962560>

<ASIN:1871962579>

<ASIN:1871962501>

<ASIN:1871962528>



<< Prev - Next

Last Updated ( Thursday, 15 October 2020 )