美文网首页
五、树的遍历

五、树的遍历

作者: 那钱有着落吗 | 来源:发表于2021-02-26 09:34 被阅读0次

1、层次遍历,广度优先遍历

image.png

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

2、深度优先遍历(先序,中序,后序)

image.png

仔细观察我们可以发现,这种遍历方式,每个节点都会有三个指针指向他,也就是说走了三次,第一次,第二次和第三次。

这样的话我们可以得出三种序列,分别为第一次,第二次和第三次的:


image.png
image.png image.png

3、一般的树的遍历

层次遍历就跟二叉树的一致


image.png

深度优先遍历与二叉树的不一致如图:


image.png

树的叶子节点与二叉树的叶子节点不一样,不像二叉树的一样,强行有两个分支,数的叶子节点只有一个空分支,代表这个叶子节点没有孩子节点。

image.png

因为树与二叉树的不一致,所以树只有先序遍历和后序遍历,而没有中序遍历。

如果需要一个树,我们想得到他的先序遍历和后序遍历,我们可以先将他转化为二叉树的存储结构


image.png

树的先序遍历是等价于转化后的二叉树的先序遍历
树的先=后序遍历是等价于转化后的二叉树的中序遍历

森林

image.png image.png image.png image.png

森林与普通树一样,我们都可以先转换为二叉树,然后再进行遍历即可。

相关文章

  • 五、树的遍历

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

  • 树的遍历算法

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

  • 图的深度优先遍历

    数据结构遍历的意义 树的遍历 图的遍历 树的前序遍历 图遍历和树遍历区别 知识回顾 树的深度优先遍历 普通函数和递...

  • 树的遍历

    N叉树的遍历 N叉树的前序遍历 N叉树的后序遍历 N叉树的层序遍历 二叉树 鉴于递归法遍历比较简单,就不重复写了 ...

  • 数据结构与算法之二叉树遍历(七)

    目录 前序遍历中序遍历后序遍历层序遍历遍历方式的选择条件根据遍历结果重构二叉树翻转二叉树计算二叉树的高度判断一棵树...

  • 数据结构——树和森林的遍历方法

    树的遍历 1、树的遍历的定义:以某种方式访问树中的每一个结点,且仅访问一次。 树的遍历主要有先根遍历和后根遍历。2...

  • 二叉树的遍历

    二叉树的遍历 二叉树遍历 分为前序遍历、中序遍历和后序遍历。 前序遍历 (DLR) 先访问根节点,然后前序遍历左子...

  • 数据结构:树的实现和遍历(c++)

    (一)二叉树的遍历——递归实现 二叉树常见的遍历方式分为前序遍历、中序遍历和后序遍历。 1 前序遍历 前序遍历也叫...

  • js二叉树(前中后序遍历)+多叉树(深度优先遍历和广度优先遍历)

    ?二叉树三种遍历 和 多叉树 深度优先遍历和广度优先遍历 二叉树遍历 先序遍历(根左右) 中序遍历(左根右) 后序...

  • 2021-04-14(冒泡递归)

    树的遍历之先序遍历二叉树 1. 遍历简介: 树作为非线性数据结构,在我们取出数据时就需要设计遍历,所谓遍历,就是按...

网友评论

      本文标题:五、树的遍历

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