JavaScript数据结构之二叉树的遍历算法示例

 更新时间:2017年04月13日 08:51:45   作者:布瑞泽的童话   我要评论

这篇文章主要介绍了JavaScript数据结构之二叉树的遍历算法,简单介绍了javascript实现数据结构中二叉树的中序遍历、先序遍历及后序遍历方法与相关使用技巧,需要的朋友可以参考下

本文实例讲述了JavaScript数据结构之二叉树的遍历算法。分享给大家供大家参考,具体如下:

三种遍历的代码:

function inOrder(node){//中序遍历
    if(node!=null){
      inOrder(node.left);
      document.write(node.show()+" ");
      inOrder(node.right);
    }
}
function preOrder(node){//先序遍历
    if(node!=null){
      document.write(node.show()+" ");
      preOrder(node.left);
      preOrder(node.right);
    }
}
function postOrder(node){//后序遍历
    if(node!=null){
      postOrder(node.left);
      postOrder(node.right);
      document.write(node.show()+" ");
    }
}

最后是实验代码:

var nums=new BST();
nums.insert(23);
nums.insert(45);
nums.insert(16);
nums.insert(37);
nums.insert(3);
nums.insert(99);
nums.insert(22);
inOrder(nums.root);//3 16 22 23 37 45 99
document.write("<br>");
preOrder(nums.root);//23 16 3 22 45 37 99
document.write("<br>");
postOrder(nums.root);//3 22 16 37 99 45 23

树的结构为:
                    23
           16              45
   3       22       37       99

对应的先序,中序,后序结果自行推导。

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

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

相关文章

  • js跑步算法的实现代码

    js跑步算法的实现代码

    这篇文章主要是对js跑步算法的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • javascript实现数独解法

    javascript实现数独解法

    数独(すうどく,Sūdoku)是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。
    2015-03-03
  • gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)

    gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)

    gulp是基于Nodejs的自动任务运行器,gulp 和 grunt 非常类似,但相比于 grunt 的频繁 IO 操作,gulp 的流操作,能更快地更便捷地完成构建工作。今天在学习gulp时遇到当用gulp.watch来监听js文件的变动时出现重复压缩问题,下面小编给大家解答下
    2016-08-08
  • 微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】

    微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下

    这篇文章主要介绍了微信小程序实现动态改变view标签宽度和高度的方法,涉及微信小程序事件响应及使用setData针对data数据动态操作相关实现技巧,需要的朋友可以参考下
    2017-12-12
  • 使用 JavaScript 进行函数式编程 (一) 翻译

    使用 JavaScript 进行函数式编程 (一) 翻译

    本文是函数式编程系列的第一篇文章。这里我会简要介绍一下编程范式,然后会直接介绍使用 Javascript 进行函数式编程的概念,因为 JavsScript 是最被认可的函数式程序语言之一。我们鼓励读者通过参考资料部分进一步了解这一迷人的概念
    2015-10-10
  • 原生js实现公告滚动效果

    原生js实现公告滚动效果

    这篇文章主要为大家详细介绍了原生js实现公告滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • js下弹出窗口的变通

    js下弹出窗口的变通

    js下弹出窗口的变通...
    2007-04-04
  • Javascript代码混淆综合解决方案-Javascript在线混淆器

    Javascript代码混淆综合解决方案-Javascript在线混淆器

    Javascript代码混淆综合解决方案-Javascript在线混淆器...
    2006-12-12
  • JavaScript Alert通用美化类

    JavaScript Alert通用美化类

    只有msg是必须的,后面的参数可以省略。如果中间的参数为空则在对应位置上''或者""表示(根据实际情况选择单双引号) 调用此方法须在每个使用的页面的head区域加入下面代码。
    2009-11-11
  • js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)

    js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原

    JS的语法非常灵活,简单的对象创建就有好几种不同的方法。这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧
    2015-11-11

最新评论