Code viewer for World: Binary tree (clone by test2)
/*
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);
  
  
} );
} );

}