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 相关文章推荐
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
Feb 16 Javascript
jquery div模态窗口的简单实例
May 28 Javascript
angular源码学习第一篇 setupModuleLoader方法
Oct 20 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
JavaScript使用Ajax上传文件的示例代码
Aug 10 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
Angular实现的敏感文字自动过滤与提示功能示例
Dec 29 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
Oct 30 Javascript
判断JavaScript中的两个变量是否相等的操作符
Dec 21 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 Javascript
React实现todolist功能
Dec 28 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程序占用多少内存(memory_get_usage)
2012/09/23 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
jquery动态加载图片数据练习代码
2011/08/04 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
JS中==、===你分清楚了吗
2020/03/04 Javascript
Python Nose框架编写测试用例方法
2017/10/26 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
最新教师自我评价分享
2013/11/12 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
《鸟的天堂》教学反思
2014/02/27 职场文书
建材投资建议书
2014/05/16 职场文书
绿色环保标语
2014/06/12 职场文书
义和团口号
2014/06/17 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
go xorm框架的使用
2021/05/22 Golang
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android