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 相关文章推荐
jQuery EasyUI API 中文文档 可调整尺寸
Sep 29 Javascript
javascript中的self和this用法小结
Feb 08 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
Jun 03 Javascript
jQuery中index()的用法分析
Sep 05 Javascript
JavaScript编程中window的location与history对象详解
Oct 26 Javascript
javascript实现九宫格相加数值相等
May 28 Javascript
NODE.JS跨域问题的完美解决方案
Oct 20 Javascript
快速掌握jQuery插件WebUploader文件上传
Nov 07 Javascript
浅谈js中function的参数默认值
Feb 20 Javascript
React数据传递之组件内部通信的方法
Dec 31 Javascript
对angularJs中自定义指令replace的属性详解
Oct 09 Javascript
JavaScript函数Call、Apply原理实例解析
Feb 17 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
Syphon 使用方法
2021/03/03 冲泡冲煮
PHP的FTP学习(一)[转自奥索]
2006/10/09 PHP
php magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
js实现转动骰子模型
2019/10/24 Javascript
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
python简单文本处理的方法
2015/07/10 Python
python二维键值数组生成转json的例子
2019/12/06 Python
keras打印loss对权重的导数方式
2020/06/10 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
幼儿园元旦活动感言
2014/03/02 职场文书
建筑结构施工求职信
2014/07/11 职场文书
北京英文导游词
2015/02/12 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
防暑降温通知书
2015/04/27 职场文书
Python中tqdm的使用和例子
2022/09/23 Python