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页面的所有js脚本如alert及弹出窗口等
Sep 03 Javascript
jQuery实现仿百度帖吧头部固定导航效果
Aug 07 Javascript
三个js循环的关键字示例(for与while)
Feb 16 Javascript
简单实现JavaScript图片切换效果
Nov 28 Javascript
javascript中replace使用方法总结
Mar 01 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
Jan 30 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
深入剖析JavaScript instanceof 运算符
Jun 14 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 Javascript
vue中element 的upload组件发送请求给后端操作
Sep 07 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
给多个地址发邮件的类
2006/10/09 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
javascript闭包入门示例
2014/04/30 Javascript
javascript每日必学之多态
2016/02/23 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
Swiper实现轮播图效果
2017/07/03 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
详解Vue底部导航栏组件
2019/05/02 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
财务部经理岗位职责
2014/02/03 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python