javascript实现BST

Posted 江湖一支竹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript实现BST相关的知识,希望对你有一定的参考价值。

思路:
1.建立节点构造函数
2.插入节点过程:先判断当前节点上是否有值,有则通过与当前节点值比较,进入左节点或者右节点,否则将值赋给当前节点
3.创建二叉树和根节点,并进行节点添加
4.遍历节点上的值,对创建的二叉树测试
function Node(){

this.value = null;
this.lChild = null;
this.rChild = null;

}

function BSTInsert(node,value){
if(node.value === null)
{
node.value = value; // node = new Node() 这种操作会与原始树断开
node.rChild = new Node();
node.lChild = new Node();
return true;
}

if(node.value == value){
return false;
}

if(node.value > value)
{
return BSTInsert(node.lChild,value);
}
else{
return BSTInsert(node.rChild,value);
}

}

function creatBST(arr){
var T = null;

T = new Node();
T.value = 0;
T.rChild = new Node();
T.lChild = new Node();
for(var i = 0;i<arr.length;i++)
{
//console.log(T);
BSTInsert(T,arr[i]);
}
inOrderTravers(T);
}

function inOrderTravers(T){
if(T.value !==null)
{
inOrderTravers(T.lChild);
console.log(T.value);
inOrderTravers(T.rChild);

}
}

var arrTmp = [1,2,3,4,5,6,7,8,9];
creatBST(arrTmp);






























































以上是关于javascript实现BST的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript学习:JavaScript实现

Javascript继承机制的实现

javascript 关键路径方法实现Javascript

JavaScript SHA-1的JavaScript实现

javascript javascript实现递归打印DOM元素标签

JavaScript 实现的checkbox经典实例分享