美文网首页
JS二叉树便利(递归)

JS二叉树便利(递归)

作者: 六月繁花开 | 来源:发表于2018-11-24 11:36 被阅读13次

所谓二叉树的遍历,是指按照一定的顺序对二叉树的每一个节点均访问一次,且只访问一次。

按照访问根节点的访问位置不同通常把二叉树的遍历分为三种方式:

前序遍历、中序遍历、后序遍历


一、前序遍历

首先访问根节点,然后访问根节点的左子树,在访问根节点的右子树。

遍历结果:abdefgc

function DLR(tree){

    console.log(tree.value);

    if(tree.left){

        DLR(tree.left);

    }

    if(tree.right){

        DLR(tree.right);

    }

二、中序遍历

首先访问根节点的左子树,然后访问根节点,再访问根节点右子树

遍历结果: debgfac

function LDR(tree){

    if(tree.left){

        LDR(tree.left);

    }

    console.log(tree.value);

    if(tree.right){

        LDR(tree.right);

    }

三、后序遍历

首先访问根节点的左子树,然后访问根节点的右子树,最后访问根节点

遍历结果:edgfbca

function LRD(tree){

    if(tree.left){

        LRD(tree.left);

    }

    if(tree.right){

        LRD(tree.right);

    }

    console.log(tree.value);

}

相关文章

  • JS二叉树便利(递归)

    所谓二叉树的遍历,是指按照一定的顺序对二叉树的每一个节点均访问一次,且只访问一次。 按照访问根节点的访问位置不同通...

  • 数据结构之二叉树

    数据结构之二叉树 递归构造二叉树 二叉树节点: 递归构造: 图示: 递归遍历 递归实现先序遍历 图示: 递归实现中...

  • 算法之二叉树

    二叉树之C++实现 创建二叉树 复制二叉树 先序遍历 递归实现 非递归实现 中序遍历 递归实现 非递归实现 后序遍...

  • 二叉树的前序、中序、后序遍历(递归、非递归)

    二叉树 前序 递归: 非递归: 中序 递归: 非递归: 层序 递归: 非递归:

  • 二叉树的前中后序遍历 Java递归与非递归实现

    1. 二叉树的定义 构造二叉树 2. 二叉树的递归遍历 2.1 二叉树递归先序遍历 2.2 二叉树递归中序遍历 2...

  • 二叉树及leetcode练习题

    二叉树 二叉树天然的递归结构 二叉树本身就是一个递归的定义。先来看一下递归的前序遍历: 递归的定义:递归终止条件 ...

  • 二叉树遍历-JAVA实现

    基础二叉树 二叉树遍历分为前序、中序、后序递归和非递归遍历、还有层序遍历。 前序递归遍历算法:访问根结点-->递归...

  • 任务七:JavaScript和树(一)

    学习二叉树递归 属于最简单的递归

  • 2020-09-23

    二叉树前序遍历几种写法 递归 非递归

  • 二叉树,非递归法

    递归法 二叉树的递归,有前序遍历、中序遍历、后序遍历,一般采用递归法,比较简单 非递归法 二叉树非递归法,采用栈来实现

网友评论

      本文标题:JS二叉树便利(递归)

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