[Data Structure & Algorithm] 二叉树的遍历 - 前序遍历中序遍历后序遍历以及转换
Posted break-dawnn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Data Structure & Algorithm] 二叉树的遍历 - 前序遍历中序遍历后序遍历以及转换相关的知识,希望对你有一定的参考价值。
二叉树的遍历
例如,将中缀表达式(a+b)/c-d+e*f表示为二叉树
- 前序遍历 - 前缀表达式(波兰式)
- 根节点->左子树->右子树
- 示例二叉树的前序遍历 +-/+abcd*ef
- 特点:第一位一定是根节点
- 中序遍历 - 中缀表达式
- 左子树->根节点->右子树
- 找到根节点后,在其左侧的都是左子树下的结点,在其右侧的都是右子树下的结点
- 后序遍历 - 后缀表达式(逆波兰式)
- 左子树->右子树->根节点
- 示例二叉树的后序遍历:ab+c/d-ef*+
- 特点:最后一位一定是根节点
- 已知两种遍历,求第三种遍历
- 如果要确定二叉树,已知必须包括中序遍历
- 已知前序遍历和后续遍历 - 只能确定祖先关系
- 前序的第一位和后续的最后一位肯定是根节点
- 前序的第二位如果和后续的最后第二位一样,那这个结点就是根节点下的左子树;反之,则为右子树
· 如果前序的第二位是左子树,则说明该树的根节点下没有右子树
- 已知前序遍历和中序遍历
- 前序遍历相当于入栈顺序,中序遍历相当于出栈顺序
- 如果二叉树没有左子树,则其前序遍历和中序遍历的顺序相同
以上是关于[Data Structure & Algorithm] 二叉树的遍历 - 前序遍历中序遍历后序遍历以及转换的主要内容,如果未能解决你的问题,请参考以下文章
[Data Structure & Algrithom] 二叉树
[Data Structure & Algorithm] 归并排序
[Data Structure & Algorithm] 线性表的查找
[Data Structure & Algorithm] 二叉排序树