Skip to content

Instantly share code, notes, and snippets.

@tonyduke
Forked from minikomi/btree.js
Created March 20, 2012 15:06
Show Gist options
  • Save tonyduke/2136679 to your computer and use it in GitHub Desktop.
Save tonyduke/2136679 to your computer and use it in GitHub Desktop.
Javascript:B-tree
var btree = function(arr){
var tree = {
val : arr[0],
name: "Base"
l : {},
r : {}
};
var add_node = function (node, leaf, name){
if (node.val === undefined){
node.l = {};
node.r = {};
node.val = leaf;
node.name = name;
return node;
} else {
if (node.val < leaf){
return add_node(node.r, leaf, (node.name + "-r"));
} else {
return add_node(node.l, leaf, (node.name + "-l"));
}
}
}
for(var i = 1; i < arr.length; i++){
add_node(tree, arr[i]);
}
return tree;
}
var search = function (tree, item){
var node_check = function(node){
if(node.val === item){ console.log(node.name); }
else if(node.val > item){ node_check(node.l); }
else if(node.val < item){ node_check(node.r); }
else { console.log("Not Found."); }
}
node_check(tree);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment