JavaScript数据结构之二叉树的查找算法示例

 
JavaScript数据结构之二叉树的查找算法示例
2017-04-14 08:05:18 /故事大全

本文实例讲述了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;

}

所属专题:
如果您觉得本文或图片不错,请把它分享给您的朋友吧!

 
故事大全
 
版权所有- © 2012-2015 · 故事大全 SITEMAP站点地图手机看故事 站点地图