// Cloned by Akash Gupta on 13 Oct 2021 from World "Binary tree" by "Coding Train" project // Please leave this clone trail here.// Modified port of "01_binary_tree_viz" from AI course by Daniel Shiffman// https://github.com/nature-of-code/NOC-S17-2-Intelligence-Learning/tree/master/week1-graphs// Daniel Shiffman// Nature of Code: Intelligence and Learning// https://github.com/shiffman/NOC-S17-2-Intelligence-Learning// canvas size const cw =ABWorld.fullwidth();const ch =ABWorld.fullheight();const root_x = cw /2;const root_y = ch /10;const ellipse_size = cw /25;// range of numbers//const MAX = 500000000; // browser stucks in worst case scenario O(N)const MAX =10000;// runs fine on O(log N)//const MAX = 500000;// how many nodes const NONODES = MAX /2;// console log how we build the tree or not const SHOWBUILD =true;// Binary treevar tree;function setup(){
createCanvas(cw,ch);
$.getScript ("/uploads/akash037/node.js",function(){// console.log ("Got node");
$.getScript ("/uploads/akash037/tree.js",function(){// console.log ("Got tree");// New tree
tree =newTree();
console.log ("=== build tree =================");// Add random valuesfor(var i =0; i < NONODES; i++){var n = i;//var n = floor(random(0, MAX));// console.log ("adding node: " + n);
tree.addValue(n);}
background("lightgreen");// Traverse the tree
tree.traverse();// Search the tree for random number var x = floor(random(0, MAX));
AB.msg("console log shows how we search a sorted tree quickly <br> search tree for "+ x +"<br>");
console.log ("=== search tree for "+ x +" ===================");var result = tree.search(x);if(result ==null) AB.msg('not found',2);else AB.msg('found',2);});});}