欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-28 09:21:22
本文实例讲述了javascript数据结构之二叉树的查找算法。分享给大家供大家参考,具体如下: 前面文章介绍了二叉树的遍历,现在谈谈在二叉树中进行查找。对二叉查找树来说,...

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

更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript数据结构与算法技巧总结》、《javascript数学运算用法总结》、《javascript排序算法总结》、《javascript遍历算法与技巧总结》、《javascript查找算法技巧总结》及《javascript错误与调试技巧总结

希望本文所述对大家javascript程序设计有所帮助。