第1个回答 2022-09-16
前序可知A是根结点,由A在中序中的位置可以看出A的左子树上包括DBGE四个结点,右子树上包括CHF三个结点。由前序列可以看出B结点是左子树的根结点,再结合B在上述四个结点中的位置可以得出B的左子树为D右子树包含GE两个结点。由前序列E在G前面,说明E是B的右结点,中序排列中G在E前面说明G是E的左结点,A的右子树也可以这样推出来。
画图最简单了,由第一序列先画上根结点A,第一数列中第二位是B,在第二个数列中B在已确定的A的左侧,那么B就是A的左结点,B也确定了。第一数列中第三位是D,D在第二数列中位于已确定的B的左侧,那D就是B的左结点;第一数列中第四个是E,E在第二个数列中已确定的B的右侧,那么E就是B的右结点;第五个是G,G在第二数列中位于已确定的E的左侧,那么G就是E的左结点;第六个是C,C在第二个数列中位于已确定点A的右侧,C是A的右结点;下一个是F,F在已确定结点C的右侧,F是C的右结点;最后一个H,H在C的右侧F的左侧,则F是C的左结点。好了整个二叉树出来了,后序遍历自己看就行了。