二叉树的先序、中序、后序遍历超详解

二叉树的先序、中序、后序遍历超详解_第1张图片

以上图为基础

①前序遍历的方式是:首先访问根节点,然后访问左子树,最后访问右子树。

前序遍历序列:F C A D B E H G M

②中序遍历的方式是:首先访问左子树,接着访问根结点,最后访问右子树。

中序遍历序列:A C B D F H E M G

③后序遍历的方式是:首先访问左子树,接着访问右子树,最后访问根结点。

后序遍历序列:A B D C H M G E F

④相同的特点:
左子树总是在右子树的之前遍历。
遍历都可以用递归的方式来描述。
中序遍历的序列中任取一个结点,该结点的左子树右子树一定分别在该结点左右,其他遍历序列也是如此。
遍历实质就是看每个结点及其子结点,谁先满足访问的要求,比如上图A结点,在后续遍历整个二叉树中A及其子结点先满足-访问完左右结点-,所以先访问A结点。

⑤由序列逆推二叉树
给定一个序列无法确定二叉树结构
给定中序+前/后序则可以确定二叉树结构

二叉树的先序、中序、后序遍历超详解_第2张图片

先序遍历: GDAFEMHZ
中序遍历: ADEFGHMZ
后序遍历: AEFDHZMG
二叉树的先序、中序、后序遍历超详解_第3张图片

前序遍历A-B-D-F-G-H-I-E-C
中序遍历F-D-H-G-I-B-E-A-C
后序遍历F-H-I-G-D-E-B-C-A
二叉树的先序、中序、后序遍历超详解_第4张图片

前序顺序A-B-D-F-G-H-I-E-C
中序顺序F-D-H-G-I-B-E-A-C
后序顺序F-H-I-G-D-E-B-C-A

二叉树的先序、中序、后序遍历超详解_第5张图片

• 前序遍历: ABDECFG
• 中序遍历: DBEAFCG
• 后续遍历: DEBFGCA

你可能感兴趣的:(Data,Structure)