JSFiddle - React, Tailwind, and code Playground
by Eugene Vilder
JavaScript
class Node {
constructor(data, left = null, right = null){
this.data = data;
this.left = left;
this.right = right;
}
}
class BTree {
constructor(){
this.root = null;
}
searchTree(data, node){
if (data < node.data){
if (!node.left) {
node.left = new Node(data);
return;
} else {
return this.searchTree(data, node.left);
}
} else if (data > node.data) {
if (!node.right) {
node.right = new Node(data);
return;
} else {
return this.searchTree(data, node.right);
}
} else {
return null;
}
}
add(data){
const node = this.root;
if (!node) {
this.root = new Node(data);
return;
} else {
return this.searchTree(data, node);
}
}
}
const tree = new BTree(10);
tree.add(10);
tree.add(5);
tree.add(15);
tree.add(20);
console.clear();
console.log(tree.root)