JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
本文实例讲述了Java脚本语言数据结构与算法之二叉树实现查找最小值、最大值、给定值算法。分享给大家供大家参考,具体如下:
函数节点(数据,左,右){ this . data=data this . left=left this . right=右;this.show=show}函数show(){ 0返回this.data}函数BST(){这个。root=nullthis . insert=insert this . preorder=preorder this . Inorder=Inorder this . PostOrder=PostOrder this . GetMIn=GetMIn//查找最小值this.getMax=getMax//查找最大值this.find=find//查找给定值}函数插入(数据){ var n=新节点(数据,null,null);如果(这个。root==null){ this。root=n;} else { var current=this.rootvar父级;while(current){ parent=current;if(当前数据。数据){ current=current。向左;if(current==null){ parent。左=n;打破;} } else { current=current . right if(current==null){ parent。右=n;打破;} } } }}//中序遍历函数inOrder(节点){ if(!(节点==null)){ Inorder(节点。左);控制台。日志(节点。show());inoder(节点。右);}}//先序遍历函数preOrder(节点){ if(!(节点==null)){控制台。日志(节点。show());preOrder(节点。左);preOrder(节点。右);}}//后序遍历函数postOrder(节点){ if(!(node==null)){ PostOrder(节点。左);posterorder(节点。右);console.log('后序遍历节点。show());}}/**查找牛生长激素上的最小值*因为较小的值总是在左子节点上,在牛生长激素上查找最小值,只需要遍历左子树,直到找到最后一个节点*/函数GetMIn(){ var current=this。根;while(!(当前。left==null)){ current=current。向左;}//返回当前;//返回最小值所在的节点返回current.data//返回最小值}/* *查找牛生长激素上的最大值*因为较大的值总是在右子节点上,在牛生长激素上查找最大值,只需要遍历右子树,直到找到最后一个节点*/函数GetMax(){ var current=this。根;while(!(当前。right==null)){ current=current。右;}//返回当前;//返回最大值所在的节点返回current.data//返回最大值}/**查找给定值*在牛生长激素上查找给定值,需要比较该值和当前节点上的值的大小。*通过比较,就能确定如果给定值不在当前节点时,该向左遍历还是向右遍历*/function find(data){ var current=this。根;而(当前!=null){ if(当前。data==data){返回电流;} else if(当前数据。数据){ current=current。向左;} else { current=current.right} }返回null } var nums=new BST();nums。插入(23);nums。插入(45);nums。插入(16);nums。插入(37);nums。插入(3);nums。插入(99);nums。插入(22);var min=nums。getMIn();console.log('最小值为:' min);var max=nums。GetMax();console.log('最大值为:' max);var find=nums。find(' 88 ');console.log(查找);如果(找到!=null){ console.log('给定值为:'查找。数据);console.log('给定值为:'查找。show());} var find=nums。find(' 37 ');console.log(查找);如果(找到!=null){ console.log('给定值为:'查找。数据);console.log('给定值为:'查找。show());}运行结果:
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://工具。JB 51。net/code/HTMljsrun测试上述代码运行效果。
更多关于Java脚本语言相关内容感兴趣的读者可查看本站专题: 《JavaScript数学运算用法总结》 、 《JavaScript数据结构与算法技巧总结》 、 《JavaScript数组操作技巧总结》 、 《JavaScript排序算法总结》 、 《JavaScript遍历算法与技巧总结》 、 《JavaScript查找算法技巧总结》 及《JavaScript错误与调试技巧总结》
希望本文所述对大家Java脚本语言程序设计有所帮助。
版权声明:JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。