// Cloned by Jamie Kavanagh on 3 Oct 2023 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;// console log how we build the tree or not const SHOWBUILD =true;// Binary treevar tree;function setup(){var t =newDate().getTime();// number of milliseconds since 1970
createCanvas(cw,ch);
$.getScript ("/uploads/jayk49/jnode.js",function(){// console.log ("Got node");
$.getScript ("/uploads/jayk49/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 = floor(random(0, MAX));// console.log ("adding node: " + n);
tree.addValue(n);}
background("grey");// 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);var e =newDate().getTime();// number of milliseconds since 1970
console.log ("TIME", e - t);});});}