1. 先序遍历:根左右,中序遍历:左根右,后序遍历:左右根
2.表达式:a+b*(c-d)-e/f的二叉树为
则先序遍历为 -+a*b-cd/ef
中序遍历为 a+b*(c-d)-e/f
后序遍历为 abcd-*+ef/-
3.已知先序遍历为abdgcefh,中序遍历为dgbaechf,求二叉树及后续遍历
分析:先序遍历的第一个字符为根节点。对于中序遍历,根节点在中序遍历的中间,左边部分是根节点的左子树的中序遍历序列,右边部分是根节点的右子树的中序遍历序列。
先序 abdgcefh --> a bdg cefh
中序 dgbaechf --> dgb a echf
得出结论:a是树根,a有左子树和右子树,左子树有bdg节点,右子树有cefh节点
先序 bdg --> b dg
中序 dgb --> dg b b是左子树的根节点,b无右子树,有左子树
先序 dg --> d g
中序 dg --> d g d是b的左子树的根节点,d无左子树,有右子树
先序 cefh --> c e fh
中序 echf --> e c hf c是右子树的根节点,c无左子树,有右子树
先序 fh --> f h
中序 hf --> h f f是c的左子树的根节点,f有左子树,无右子树
a
b c
d e f
g h
故右序遍历为gdbehfca
4.若已知一个二叉树前序序列为BEFCGDH,中序序列为FEBGCHD,则后序遍历为FEGHDCB
5.已知二叉树后续遍历序列为bfegcda,中序遍历序列为badefcg,则前序遍历为abdcefg