作业帮 > 综合 > 作业

已知二叉树的前缀表达式为ABCDE,中缀表达式为BDCEA,后缀表达式怎么求出来?有何方法?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 02:06:33
已知二叉树的前缀表达式为ABCDE,中缀表达式为BDCEA,后缀表达式怎么求出来?有何方法?
前缀表达式对应于二叉树的先序遍历,先访问根,再访问左子树,然后访问右子树;
中缀表达式对应于二叉树的中序遍历,先访问左子树,再访问根,然后访问右子树;
后缀表达式对应于二叉树的后序遍历,先访问左子树,再访问右子树,然后访问根;
可以发现,二叉树前序中的第一个节点为树的根节点root,然后找出root在中序里面的位置,就可以把先序和中序分别划分为左、右子树两个部分,然后递归调用即可.可以看出A是跟结点,A的中序遍历排序中没有右边部分,所以A只有左子树.先序排列中A接下来是B,B在中序遍历中没有左部分,先序中接下来是C,中序中有左右两边,所以根据前面的的表达式得到树是:
A
/
B
\
C
/ \
D E
最后,后序遍历得到是:DECBA
再问: Nice!