美文网首页
二叉树的遍历规则二

二叉树的遍历规则二

作者: 小豆soybean | 来源:发表于2018-08-14 17:52 被阅读0次

原文链接:https://www.jianshu.com/p/768892e095bf
我的理解:参考建树的方式和创建原型方法的方式。

二叉树的常用遍历为前序遍历,中序遍历,后序遍历,三种遍历方法仅仅是交换了代码的运行顺序而已,代码如下:


function Node(data,left,right){
    this.data=data;
    this.left=left;
    this.right=right;
}

function Tree(){
    this.root=null;
}
Tree.prototype={
    //创建二叉树
    create: function(){
        var b=new Node(2,new Node(4),new Node(5));
        var c=new Node(3,new Node(6),new Node(7));
        this.root=new Node(1,b,c);
    },

    //前序遍历
    preTravel: function(root){
        if(root==null){
            return;
        }

        console.log(root.data);
        this.preTravel(root.left);
        this.preTravel(root.right);
    },

    //中序遍历
    middleTravel: function(root){
        if(root==null){
            return;
        }

        this.middleTravel(root.left);
        console.log(root.data);
        this.middleTravel(root.right);
    },

    //后序遍历
    postTravel: function(root){
        if(root==null){
            return;
        }

        this.middleTravel(root.left);
        this.middleTravel(root.right);
        console.log(root.data);
    }    
}
一开始的时候,准备为这些遍历方法传入一个默认参数this.root结果发现会导致死循环,最后发现是因为,后面会将undefined作为参数传入,此时会自动使用默认参数,进入死循环。
另外,定义原型方法时,调用另一个原型方法时,要在this作用域中查找。
测试代码如下:

var tree=new Tree();
tree.create();
tree.preTravel(tree.root);
tree.middleTravel(tree.root);
tree.postTravel(tree.root);

相关文章

  • 五、树的遍历

    1、层次遍历,广度优先遍历 要遍历二叉树,我们得有一个规则,按照从上往下,从左往右的顺序遍历二叉树,这样的遍历就叫...

  • 数据结构学习

    二叉树的遍历 1、前序遍历: 规则是若二叉树为空,则空操作返回,否则先访问根节点,在前序遍历左子树,再前序遍历右子...

  • 二叉树遍历算法

    摘要:二叉树主要有3种遍历算法,分为为先序、中序、后序。本文对二叉树的3种遍历算法的遍历规则进行介绍,并给出3种遍...

  • 二叉树 基础操作

    二叉树的使用 二叉树结构 先序创建二叉树 DFS 先序遍历二叉树 中序遍历二叉树 后序遍历二叉树 BFS 层次遍历...

  • Java迭代实现二叉树的前序、中序、后序遍历

    我们都知道,二叉树的遍历有三种形式:前序遍历、中序遍历、后序遍历,三种遍历的规则分别如下: 1)前序遍历:先遍历根...

  • 二叉树遍历

    二叉树 二叉树的存储结构 前序遍历 中序遍历 后序遍历 遍历代码 反转二叉树 深入学习二叉树 二叉树-你必须要懂!...

  • 关于二叉树的算法题

    前序遍历中序遍历后序遍历判断是否是平衡二叉树判断是否是对称二叉树判断二叉树高度按照层遍历二叉树判断二叉树宽度

  • 二叉树操作

    树节点 逐行顺序解析二叉树 前序遍历二叉树 中序遍历二叉树 后序遍历二叉树 删除指定数值的节点 前序遍历顺序存储的...

  • 理解线索二叉树

    原链接:理解线索二叉树|CloudWong 线索二叉树原理 遍历二叉树的其实就是以一定规则将二叉树中的结点排列成一...

  • 题目 一、144. 二叉树的前序遍历 二、94. 二叉树的中序遍历 三、二叉树的后序遍历

网友评论

      本文标题:二叉树的遍历规则二

      本文链接:https://www.haomeiwen.com/subject/rinvbftx.html