首页 > 代码库 > 数据结构学习笔记(四)---遍历二叉树
数据结构学习笔记(四)---遍历二叉树
遍历二叉树
二叉树是一种非线性的数据结构。所谓的遍历二叉树就是按某种顺序访问二叉树中的每个节点,要求每个节点被访问一次且仅一次。
遍历操作实际上是将非线性结构线性化过程,其结果为线性序列。
二叉树的操作
(1)先序遍历---结束的条件是二叉树是否为空 TLR
先访问根节点;
再先序访问左子树;
再先序访问右子树。
(2)中序遍历---结束的条件是二叉树是否为空 LTR
先中序遍历左子树;
再访问根节点;
再中序遍历右子树。
(3)后序遍历---结束的条件是二叉树是否为空 LRT
先后序遍历左子树;
再后序遍历右子树;
再后序访问根节点。
(4)已知两种遍历序列求原始二叉树
1. 如果已知先序和中序、中序和后序,可以推出原始二叉树的。
2. 如果已知先序和后序,是无法求出原始二叉树的。
步骤:
先找到根节点;
在根据根节点,确定左子树和右子树。
示例一:
先序:ABCDEFGH
中序:BDCEAFHG
求后序?
后序:DECBHGFA
示例二:
先序:ABDGHCEFI
中序:GDHBAECIF
求后序?
后序:GHDBEIFCA
示例三:
中序:BDCEAFHG
后序: DECBHGFA
求先序?先序:ABCDEFGH
数据结构学习笔记(四)---遍历二叉树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。