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 相关文章推荐
script标签的 charset 属性使用说明
Dec 04 Javascript
javascript克隆对象深度介绍
Nov 20 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
Jan 13 Javascript
jquery实现的蓝色二级导航条效果代码
Aug 24 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
jstl中判断list中是否包含某个值的简单方法
Oct 14 Javascript
详解jquery easyui之datagrid使用参考
Dec 05 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
JS实现的字符串数组去重功能小结
Jun 17 Javascript
如何在 Vue 中使用 JSX
Feb 14 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
为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
初探PHP5
2006/10/09 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
微信小程序上传图片实例
2018/05/28 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
Python实现批量读取word中表格信息的方法
2015/07/30 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
Python生成词云的实现代码
2020/01/14 Python
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
暑期实习鉴定
2013/12/16 职场文书
挂科检讨书范文
2014/02/20 职场文书
《小池塘》教学反思
2014/02/28 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
中学教师个人总结
2015/02/10 职场文书
求职自我评价范文
2015/03/09 职场文书
共青团员自我评价
2015/03/10 职场文书
2015年话务员工作总结
2015/04/29 职场文书
党支部综合考察意见
2015/06/01 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android