本文实例讲述了JavaScript数据结构之二叉树的查找算法。分享给大家供大家参考,具体如下:
前面文章介绍了二叉树的遍历,现在谈谈在二叉树中进行查找。对二叉查找树来说,一般有以下三类查找:最大值,最小值和给定值。
查找最小值就是遍历左子树,直到找到最后一个结点,这是因为在二叉查找树中较小的值总是在左子节点上的。
代码如下:
function getMin(){//查找最小值
var current=this.root;//指向根节点
while(current.left!=null){
current=current.left;
}
return current.data;
}
同理可得查找最大值的代码如下:
function getMax(){//查找最大值
var current=this.root;
while(current.right!=null){//如果未找到右结点则一直找
current=current.right;
}
return current.data;
}
而在二叉查找树中查找指定值也不难,就是依次判断节点值的查找值的大小,如果节点值小,则继续往右查找,如果节点值大,则继续往左查找,代码如下:
function find(data){//查找某个值
var current=this.root;
while(current!=null){
if(current.data==data){
return current;
}else if(current.data>data){//如果节点值比寻找值大,则往左找
current=current.left;
}else{//如果节点值比寻找值小,则往右找
current=current.right;
}
}//如果没找到则返回null
return null;
}
- 看不过瘾?点击下面链接!
- android基于socket的局域网内服务器与客户端加密通信
- Spring Data JPA 简单查询--方法定义规则
- JavaScript中this的用法及this在不同应用场景的作用详解
- Node.js发送HTTP客户端请求并显示响应结果的方法示例
- nodejs个人博客后台登陆开发详解
- lnmp环境搭建教程