Tree

Run Settings
LanguageJavaScript
Language Version
Run Command
class Node{ constructor(value){ this.value=value; this.left=null; this.right=null; } } class BinarySearchTree{ constructor(){ this.root=null; } insert(value){ const newNode=new Node(value); if(this.root===null){ this.root=newNode; } else{ let currNode=this.root; while(true){ if(value<currNode.value){ //left if(!currNode.left){ currNode.left=newNode; return this; } currNode=currNode.left; } else{ //right if(!currNode.right){ currNode.right=newNode; return this; } currNode=currNode.right; } } } } lookup(value){ if(!this.root){ return false; } let currNode=this.root; while(currNode){ if(value<currNode.value){ currNode=currNode.left; } else if(value>currNode.value){ currNode=currNode.right; } else if(value===currNode.value){ return currNode; } } return false; } } const tree=new BinarySearchTree(); tree.insert(9); tree.insert(4); tree.insert(6); tree.insert(20); tree.insert(170); tree.insert(15); tree.insert(1); tree.lookup(20);
Editor Settings
Theme
Key bindings
Full width
Lines