一、通过二叉树的前序、中序来推测出后续
-
已知前序遍历:ABDHIEJKCFLMGNO
中序遍历:HDIBJEKALFMCNGOa. 解题思路:思想是递归思想:
第一步:通过前序遍历中找出根节点是A,从而确定了左子树和右子树的所有节点。
第二步:接着用第一步的思想,在前序遍历中,A被确定为根节点,在第一步的推断中,我们可以得出左子树的节点,相同的,我们现在要找以A为根节点的左子树的根节点,此时以A为根节点的左子树的根节点便是前序遍历中的第二个元素B,那么这时,以B为根节点,通过中序遍历便可得出以B为根节点的左右子树,
第三步:其实就是递归思路了,这次会找以D为根节点的二叉树,直至最后全部找完,算递归完成。b.这时我们在完整的作出上面的例题:
当以A为根节点时的中序遍历:
HDIBJEK A LFMCNGO以B为根节点的中序遍历(以A为根节点的左子树的中序遍历):
HDI B JEK以D为根节点的中序遍历(以B为根节点的左子树的中序遍历):
H D I以 H 为根节点的中序遍历,H的左边没有支点,右边是D,这些节点都在以上步骤出现过所以他是叶子节点。
以 I 为根节点的中序遍历