以知道后序遍历和中序遍历为例子
If the postorder traversal sequence of a binary tree is FDEBGCA
, and its inorder traversal sequence is FDBEACG
, then its preorder traversal sequence is:ABDFECG
首先看整个树,树的root在后序遍历中必然是最后被访问的
因此A为整棵树的root
再看中序遍历,可以知道在A左边的即为左子树,在A右边的即为右子树
所以FDBE为左子树,CG为右子树
再把FDBE放到后序遍历里看,发现B在最后,因此B是这个子树的root
再回到中序遍历,由于FD在B的左边、E在B的右边,所以FD为左子树、E为右子树
就这样操作下去,直到每个节点都只有一个为止
这样就可以画出整棵树
因此前序遍历即为ABDFECG