美文网首页
非递归的遍历方式

非递归的遍历方式

作者: Two口吃成大胖子 | 来源:发表于2017-10-20 22:55 被阅读0次

现在有一颗二叉树

我们将每个节点看做一个根节点,并对其进行前序遍历,可以得到

ABC       BDE      D       E      CF     F

可以发现,每个节点都出现了两次,可以认为是相邻节点,我们按照顺序进行组合,比如ABC和BDE,因为DE是以B为根节点遍历出来的,所以优先和B组合,就可以得到ABDEC,将只有一个节点的排除,那么我们得到ABDECF这就是前序遍历。

如果我们对其进行中序遍历,可以得到

BAC     DBE      D      E      CF     F

同样的组合,可以得到DBEACF。

其实这个规律,是参考局部的排序能够保证整体的排序方式,所以我们需要对每个节点进行相应的遍历操作(进行入栈),当第二次遇到该节点,就可以入队列了。

相关文章

  • 二叉树遍历

    先序遍历——[递归、非递归] 中序遍历——[递归、非递归] 后序遍历——[递归、非递归] 层次遍历——[递归、非递归]

  • 二叉树遍历

    请递归,非递归方式分别前序遍历,中序遍历,后续遍历二叉树

  • BinaryTree遍历(递归和非递归)

    前序遍历 前序遍历: 根节点->左节点->右节点 递归方式:代码实现 非递归方式: 中序遍历 中序遍历: 左节点...

  • 二叉树的遍历

    非递归前序遍历 非递归中序遍历 非递归后序遍历 层序遍历

  • 树的遍历

    节点结构: 先序遍历 递归 非递归 后序遍历 递归 非递归 中序遍历 递归 非递归 层序遍历 类库 有了上述遍历算...

  • 左神算法笔记——Morris遍历

    基本问题——实现二叉树的前序、中序、后序遍历 (递归、非递归,mirros方法) 递归 递归方式下的前中后遍历 非...

  • 二叉树的前中后三种遍历(递归、非递归和Morris)

    前序遍历 递归版本 非递归版本 中序遍历 递归版本 非递归版本 Morris 遍历待补充 后序遍历 递归版本 非递...

  • 【转】js数组和树结构数据相互转换

    数组转树结构采取递归和非递归两种方式,树结构转扁平化数组采取深度优先遍历(递归和非递归两种方式)和广度优先遍历实现...

  • 二叉树前、中、后序遍历、层次遍历

    1、前序遍历 非递归:利用Stack实现 递归 2、中序遍历 非递归:利用Stack实现 递归: 3、后序遍历 非...

  • 树的遍历算法

    树的递归遍历 树的层次遍历 树的非递归前序遍历 树的非递归中序遍历

网友评论

      本文标题:非递归的遍历方式

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