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


Posted in Javascript onApril 13, 2017

本文实例讲述了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 相关文章推荐
你需要知道的JavsScript可以做什么?
Jun 29 Javascript
直接生成打开窗口代码,不必下载
May 14 Javascript
javascript中的window.location.search方法简介
Sep 02 Javascript
jQuery Validate表单验证深入学习
Dec 18 Javascript
jQuery实现日期联动效果实例
Jul 26 Javascript
JavaScript实现DOM对象选择器
Sep 24 Javascript
vuejs2.0子组件改变父组件的数据实例
May 10 Javascript
HTML5开发Kinect体感游戏的实例应用
Sep 18 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
Angular6 Filter实现页面搜索的示例代码
Dec 02 Javascript
详解Vue项目部署遇到的问题及解决方案
Jan 11 Javascript
jquery将信息遍历到界面上实例代码
Jan 21 jQuery
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 #jQuery
vue组件如何被其他项目引用
Apr 13 #Javascript
微信小程序开发之数据存储 参数传递 数据缓存
Apr 13 #Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 #jQuery
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
Apr 13 #Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 #Javascript
详解vue的数据binding绑定原理
Apr 12 #Javascript
You might like
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
简单理解Python中基于生成器的状态机
2015/04/13 Python
深入浅析Python字符编码
2015/11/12 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
用C语言实现文件读写操作
2013/10/27 面试题
致长跑运动员加油稿
2014/02/20 职场文书
出国英文推荐信
2014/05/10 职场文书
应聘会计求职信
2014/06/11 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
老乡聚会通知
2015/04/23 职场文书
安全守法证明
2015/06/23 职场文书
Vue如何清空对象
2022/03/03 Vue.js