// Cloned by test2 on 6 Oct 2022 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 =900;const ch =600;const root_x = cw /2;const root_y = ch /10;const ellipse_size = cw /25;// range of numbersconst MAX =5000;// how many nodes const NONODES = MAX /2;const CONSOLE =true;// console.log messages on/offconst DRAWTREE =true;// display tree graphically on/off// Binary treevar tree;function setup(){
createCanvas(cw,ch);
$.getScript ("/uploads/test2/node.js",function(){// console.log ("Got node");
$.getScript ("/uploads/test2/tree.js",function(){// console.log ("Got tree");// New tree
tree =newTree();var starttime =newDate().getTime();// number of milliseconds since 1970
console.log ("=== build tree =================");// Add random valuesfor(var i =0; i < NONODES; i++){var n = floor(random(0, MAX));// console.log ("adding node: " + n);
tree.addValue(n);}
background("lightgreen");// Traverse the treeif( DRAWTREE ) 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);var endtime =newDate().getTime();// number of milliseconds since 1970
console.log ("start "+ starttime +" end "+ endtime );var diff = endtime - starttime;
console.log ("run took "+ diff +" milliseconds");});});}