数据结构 二叉树 前 中 后 序列

简单二叉树的 遍历

如果看完还是不太懂 就观看速成视频
https://www.bilibili.com/video/BV1Ub4y147Zv/?spm_id_from=333.337.search-card.all.click&vd_source=e5f8765d50fb89ef04eb150bd76075b5
引用资料文献链接放到篇尾

简单术语解释

  1. 节点 (Node):二叉树中的一个元素,包含值和指向子节点的引用

  2. 根(Root):二叉树的顶部节点, 没有父节点。(一般时最上的单个节点)

  3. 叶(Leaf): 没有子节点的节点。 (一般时最底下的节点)

  4. 左子树/右子树(Left/Right Subtree):分别位于一个节点的左边和右边的子树

  5. 父节点(Parent):节点的上一级节点。

  6. 子节点(Child):节点的下一级节点。
    image

前序遍历

前序遍历 根节点 第一个
根节点左子树 依次记录 直到达到 左子树,途中的内部节点都写记录

要诀: ——根节点——>左子树的节点——>直到左子树的叶——>叶的 父节点的 右子树的 子节点

前序遍历结果 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

image

拆分解析:倾斜数字 是加入前序的值
根节点: 1——
子节点往下

左子树的节点: 2——
子节点往下

左子树的节点: 3——
子节点往下

左子树的节点同时也是叶: 4——
往上回到 父节点 3 发现 右子树的节点 5 往下

右子树的节点同时也是叶: 5——
往上回到父节点 3 发现左右子树的节点都已遍历完
往上回到父节点 2 发现右子树的节点 6 往下

右子树的节点 :6——
子节点往下

左子树的节点 同时也是叶 :7——
往上回到父节点 6 发现右子树的节点 8 往下

右子树的节点 同时也是叶 :8——
往上回到父节点 6 遍历完
往上回到父节点 2 遍历完
往上回到根节点 1 往右边遍历 重复上面操作

中序遍历

中序遍历 根节点 在中间

中序和前序不同 前序是 从上往下记录 但是中序是从 左叶节点往上记录

左叶节点:是从根节点开始,一直左子树 直到 没有左子树

根节点左子树 途中不用记录 直到达到 左子树,才开始记录,可以有右子树的节点

要诀: 左叶 节点——>叶 父节点——>右子树的节点 的 左叶 节点——>直到没有左叶节点

中序遍历结果 4,3,5,2,7,6,8,1,11,10,12,9,14,13,15

红色数字的是第几个访问到的

image

拆分解析:倾斜数字 是加入中序的值

左叶节点: 4——
往上回到 父节点 3

父节点:3——
发现 右子树的节点 5 没有记录 右子树的节点 5开始 往下

右子树的节点同时也是叶: 5——
往上回到父节点 3 发现左右子树的节点都已遍历完

往上回到父节点: 2——
发现 右子树的节点 6 没有记录 右子树的节点 6开始 往下

左叶节点:7——
往上回到 父节点 6

父节点: 6——
发现 右子树的节点 8 没有记录 右子树的节点 8开始 往下

右子树的节点同时也是叶: 8——
往上回到父节点 6 发现左右子树的节点都已遍历完
往上回到父节点 2 发现左右子树的节点都已遍历完

返回父节点根节点: 1——

后序遍历

后序遍历 根节点 在后间

后序和中序很像都是从 左叶节点 往上记录 不同于中序的是 后序记录节点时必须是即没有子节点

根节点左子树 途中不用记录 直到达到 左子树,如果当前节点右子树节点则继续往下直到找到最左侧的

要诀: 左叶 节点——>叶的父节点的 右子树节点 的 左叶 节点——>直到没有左叶节点

后序遍历结果 4,5,3,7,8,6,2,11,12,10,14,15,13,9,1

红色数字的是第几个访问到的
image

拆分解析:倾斜数字 是加入后序的值

左叶节点: 4——
往上回到父节点: 3,发现存在子节点,往下

未发现子节点
右子树: 5——

往上回到父节点: 3,未发现子节点
父节点: 3——

往上回到父节点: 2,发现存在子节点,往下
右子树: 6 发现子节点,往下

未发现节点
左子树节点:7——
往上回到父节点: 6,发现存在子节点 往下

未发现节点
右子树节点:8——

往上回到父节点: 6,未发现子节点
父节点: 6——

往上回到父节点: 2,未发现子节点
父节点: 2——

将右侧 按照上述 进行修改 最后再加入
根节点 1 ——

资料文献

博客园 作者:ACHanHan 标题:二叉树的遍历及例题 有附代码实现:
https://www.cnblogs.com/AC673523745/p/13991094.html
Csdn 作者:白菜喵 标题:彻底弄懂二叉树的先序、中序、后序三种遍历与做题 有比较复杂的(如:只有一个节点单向 左/右二叉树,附上 前中后序 答案参考))
(因网站限制需要登陆关注才能看完,(如果不想登陆也可以看一下的,我就没登陆))
https://blog.csdn.net/eebaicai/article/details/89788098
速成视频 这个是真的快,看一下基本可以懂七七八八
https://www.bilibili.com/video/BV1Ub4y147Zv/?spm_id_from=333.337.search-card.all.click&vd_source=e5f8765d50fb89ef04eb150bd76075b5

posted @ 2024-07-26 16:45  BaiLuoXi  阅读(97)  评论(0)    收藏  举报