/*
Exercise
1. This JS includes 2 JS files.
2. Take Shiffman's JS code and copy into top of your JS.
3. Now have one JS file that you can Edit and Run
4. Delete or comment out getScript lines
5. Edit colors and sizes of node ellipses
*/
// Cloned by test2 on 4 Oct 2022 from World "Binary tree" by "Coding Train" project
// Please leave this clone trail here.
console.log ("my code starts 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 numbers
const MAX = 30;
// how many nodes
const NONODES = MAX / 2;
// console log how we build the tree or not
const SHOWBUILD = true;
// Binary tree
var 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 = new Tree();
console.log ("=== build tree =================");
// Add random values
for (var i = 0; i < NONODES; 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);
} );
} );
}