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 相关文章推荐
JavaScript 异步调用框架 (Part 2 - 用例设计)
Aug 03 Javascript
JavaScript模板入门介绍
Sep 26 Javascript
javascript监听鼠标滚轮事件浅析
Jun 05 Javascript
关于JavaScript命名空间的一些心得
Jun 07 Javascript
js获取指定日期周数以及星期几的小例子
Jun 27 Javascript
director.js实现前端路由使用实例
Feb 03 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
jquery实现删除一个元素后面的所有元素功能
Dec 21 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
详解vue父子组件间传值(props)
Jun 29 Javascript
VueJs组件prop验证简单介绍
Sep 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与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
深入理解PHP内核(一)
2015/11/10 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
SWFObject Flash js调用类
2008/07/08 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
Python多进程编程常用方法解析
2020/03/26 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
python实现三种随机请求头方式
2021/01/05 Python
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
自荐信需注意事项
2014/01/25 职场文书
大学生就业策划书范文
2014/04/04 职场文书
七一晚会主持词
2015/06/29 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android