用于Javascript数据结构的二叉搜索树的实现

用于Javascript数据结构的二叉搜索树的实现
本文介绍了javascript二叉查找树的实现。供大家分享,供大家参考,如下:

二叉搜索树:顾名思义,每个节点上的树的最大是仅有的两个分支;而留下的价值分支节点<右分支节点的值。

特点:插入节点,找到最大的最小节点,并对节点值进行排序是非常方便的。

两叉查找树javascript实现
< / / { CDATA {!
打印输出
函数println(MSG){
document.write(味精+ );
}
节点类
var节点=函数(v){
this.data = V; / /节点的值
this.left = null; / /左节点
this.right = null; / /右节点
}
/ /二叉搜索树
Var BinarySearchTree =函数(){()
this.root = null; / /初始化,根节点是空的
插入节点
参数:v节点值
this.insert =功能(v){
无功节点=新的节点(V);
如果(this.root = = null){
树是空的,新的节点直接进入根节点。
this.root =节点;
返回;
}
var CurrentNode = this.root; / /指针(从根节点开始向下看)
VaR parentNode = null;
而(真正的){
parentNode = CurrentNode;
如果(V<CurrentNode。数据){
当前节点的目标节点
如果是左插/即插,则节点被移动到左边节点。
currentnode.left CurrentNode =;
如果(CurrentNode = = null){
没有左边的节点,新的节点,直接进入左边的节点
parentnode.left =节点;
返回;退出
}
}
{其他
否则,在右边的插头上,节点移动到正确的节点。
currentnode.right CurrentNode =;
如果(CurrentNode = = null){
parentnode.right =节点;
返回;
}
}
}
}
找到最小的节点
this.min =函数(){
var p = this.root; / /节点
而(P!= null p.left!= NULL){
P = p.left;
}
返回p;
}
找到最大节点
this.max =函数(){
var p = this.root; / /节点
而(P!= null p.right!= NULL){
P = p.right;
}
返回p;
}
顺序遍历中
this.inorder =功能(根){
如果(根!= NULL){
This.inOrder(根。左); / /第一节点离开
println(根节点。数据); / /到根节点
This.inOrder(根节点,右); / /右节点
}
}
第一次遍历
this.preorder =功能(根){
如果(根!= NULL){
println(根节点。数据); / /第一根
This.preOrder(根。左); / /左节点
This.preOrder(根节点,右); / /右节点
}
}
在遍历之后
this.postorder =功能(根){
如果(根!= NULL){
This.postOrder(根。左); / /第一节点离开
This.postOrder(根节点,右); / /右节点
println(根节点。数据); / /到根节点
}
}
}
下面是一个测试
VaR btree =新BinarySearchTree();
沙特阿拉伯。《树左侧图3.9》的设计与分析
BTree.insert(6);
BTree.insert(3);
BTree.insert(8);
BTree.insert(1);
BTree.insert(4);
BTree.insert(9);
println(中序遍历:')
BTree.inOrder(B树。根);
println();
println(先序遍历:);
BTree.preOrder(B树。根);
println();
println(后序遍历:);
BTree.postOrder(B树。根);
println();
无功minnode = btree.min();
println(最小节点:+(minnode = =空不存在:minnode。数据));
println();
无功maxnode = btree.max();
println(最大节点:+(maxnode = =空不存在:maxnode。数据));
>

前序遍历:631489后序遍历:143986最小节点:1大节点:9 -->

输出结果:
中间顺序遍历:134689
序遍历:631489
后序遍历:143986
最小节点:1
最大节点数:9

希望本文能对javascript程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部