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网页定位详解
Jan 13 Javascript
在JavaScript中使用对数Math.log()方法的教程
Jun 15 Javascript
Node.js编写组件的三种实现方式
Feb 25 Javascript
有关jQuery中parent()和siblings()的小问题
Jun 01 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
Jul 12 Javascript
微信小程序 页面跳转和数据传递实例详解
Jan 19 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
Mar 02 Javascript
JS实现页面打印功能
Mar 16 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 jQuery
JS中比较两个Object数组是否相等方法实例
Nov 11 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安装攻略:常见问题解答(一)
2006/10/09 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
js对数字的格式化使用说明
2011/01/12 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
python有证书的加密解密实现方法
2014/11/19 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
Python中的延迟绑定原理详解
2019/10/11 Python
python多线程使用方法实例详解
2019/12/30 Python
python爬虫容易学吗
2020/06/02 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
联想中国官方商城:Lenovo China
2017/10/18 全球购物
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
会计实习生自我鉴定
2013/12/12 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
python脚本框架webpy模板赋值实现
2021/11/20 Python