//asume we have Tree() to generate a BST
//each tree has a value, a left pointer and a right pointer
var walker = function(input){
//base
if(input.length===0){
return;
}
if(input.length===1){
return new Tree(input[0]);
}
//iter
var middle_index = Math.floor(input.length/2);
var left = input.slice(0, middle_index);
var right = input.slice(middle_index+1, input.length);
var tree = new Tree(input[middle_index]);
tree.left = walker(left);
tree.right = walker(right);
return tree;
};
walker([1,2,3,4,5,6,7,8,9]);
Like this:
Like Loading...
Related