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

 更新时间:2017年04月13日 09:35:51   作者:布瑞泽的童话  
这篇文章主要介绍了JavaScript数据结构之二叉树的查找算法,结合具体实例形式分析了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程序设计有所帮助。

相关文章

  • JavaScript ES 模块的使用

    JavaScript ES 模块的使用

    这篇文章主要介绍了JavaScript ES 模块的使用,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2020-11-11
  • JavaScript实现标题栏文字轮播效果代码

    JavaScript实现标题栏文字轮播效果代码

    这篇文章主要介绍了JavaScript实现标题栏文字轮播效果代码,涉及JavaScript基于时间函数及流程控制操作标题栏文字的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • artDialog+plupload实现多文件上传

    artDialog+plupload实现多文件上传

    这篇文章主要介绍了artDialog+plupload实现多文件上传的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 带你搞懂js的深拷贝

    带你搞懂js的深拷贝

    这篇文章主要为大家介绍了js的深拷贝,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • div失去焦点事件实现思路

    div失去焦点事件实现思路

    blur只是针对form表单控件的,而对于 span , div , li 之类的,则没办法触发它们的动作,本文有个示例,看看是怎么实现的
    2014-04-04
  • javascript 精确获取样式属性(下)

    javascript 精确获取样式属性(下)

    继续上一部分,我们要看一下颜色。火狐好像不管三七二十一都会转变为rgb格式,不过我们通常比较习惯的是hex格式。这就用到以下两函数。
    2010-01-01
  • JS关闭窗口或JS关闭页面的几种代码分享

    JS关闭窗口或JS关闭页面的几种代码分享

    这篇文章介绍了JS关闭窗口或JS关闭页面的几种代码,有需要的朋友可以参考一下
    2013-10-10
  • 原生JavaScript实现换肤

    原生JavaScript实现换肤

    这篇文章主要为大家详细介绍了原生JavaScript实现换肤,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • JavaScript使用闭包模仿块级作用域操作示例

    JavaScript使用闭包模仿块级作用域操作示例

    这篇文章主要介绍了JavaScript使用闭包模仿块级作用域操作,结合实例形式分析了javascript闭包的原理及模仿块级作用域相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • javascript 动态修改css样式方法汇总(四种方法)

    javascript 动态修改css样式方法汇总(四种方法)

    为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的Css属性,如何动态修改css样式呢?面对这个问题,小编带领大家来解决javascript动态修改css样式,小伙伴们都快来学习吧
    2015-08-08

最新评论