您的位置:首页 > 其它

二叉树的添加与查找

2016-04-13 22:02 459 查看
添加:

添加的时候可以用数组,循环添加,我是一步一步测试方便,才一个一个添加。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
var root=null;
function bt_add(node,n){
if(node==null){
alert('没有根节点把'+n+'当成根节点');
node={
value:n,
l:null,
r:null
};
}else{
if(node.value==n){
return;
}else if(node.value<n){
alert('试图往右走');
node.r=bt_add(node.r,n);
}else{
alert('试图往左走');
node.l=bt_add(node.l,n);
}
}
return node;
}
root=bt_add(root,50);
root=bt_add(root,35);
root=bt_add(root,60);
root=bt_add(root,21);
root=bt_add(root,45);
root=bt_add(root,55);
root=bt_add(root,70);
</script>
</head>
<body>

</body>
</html>


查找:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
var root=null;
function bt_add(node,n){
if(node==null){
node={
value:n,
l:null,
r:null
};
}else{
if(node.value==n){
return;
}else if(node.value<n){
node.r=bt_add(node.r,n);
}else{
node.l=bt_add(node.l,n);
}
}
return node;
}
function bt_find(node,n){
if(node==null){
return false;
}else{
if(node.value==n){
return true;
}else if(node.value<n){
return bt_find(node.r,n);
}else{
return bt_find(node.l,n);
}
}
}
root=bt_add(root,50);
root=bt_add(root,35);
root=bt_add(root,60);
root=bt_add(root,21);
root=bt_add(root,45);
root=bt_add(root,55);
root=bt_add(root,70);
alert(bt_find(root,5));
</script>
</head>
<body>

</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: