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 相关文章推荐
关于viewport,Ext.panel和Ext.form.panel的关系
May 07 Javascript
奉献给JavaScript初学者的编写开发的七个细节
Jan 11 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 Javascript
深入探讨Vue.js组件和组件通信
Sep 12 Javascript
JavaScript数据结构之链表的实现
Mar 19 Javascript
Angular2学习教程之组件中的DOM操作详解
May 28 Javascript
Layer弹出层动态获取数据的方法
Aug 20 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
Dec 03 Javascript
Vue开发之watch监听数组、对象、变量操作分析
Apr 25 Javascript
JS使用正则表达式实现常用的表单验证功能分析
Apr 30 Javascript
详解JavaScript之ES5的继承
Jul 08 Javascript
为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
2.PHP入门
2006/10/09 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
PHP6新特性分析
2016/03/03 PHP
php设计模式之单例模式代码
2016/06/11 PHP
PHP7常量数组用法分析
2016/09/26 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
js 操作符汇总
2014/11/08 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
angular十大常见问题
2017/03/07 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python的迭代器和生成器使用实例
2015/01/14 Python
使用Python生成url短链接的方法
2015/05/04 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
2020/08/05 Python
python开发入门——set的使用
2020/09/03 Python
Python函数调用追踪实现代码
2020/11/27 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
应聘医学检验人员自荐信
2013/09/27 职场文书
投资合作协议书范本
2014/04/17 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python