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 相关文章推荐
判断iframe是否加载完成的完美方法
Jan 07 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
jquery自动切换tabs选项卡的具体实现
Dec 24 Javascript
js读取配置文件自写
Feb 11 Javascript
现如今最流行的JavaScript代码规范
Mar 08 Javascript
node.js中的url.resolve方法使用说明
Dec 10 Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
Sep 08 Javascript
深入学习jQuery Validate表单验证
Jan 18 Javascript
盘点javascript 正则表达式中 中括号的【坑】
Mar 16 Javascript
AngularJS使用拦截器实现的loading功能完整实例
May 17 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
Aug 12 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
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
关于php mvc开发模式的感想
2011/06/28 PHP
PHP 读取和编写 XML
2014/11/19 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
python实现二分查找算法
2020/09/18 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS