知道中序和后序遍历,画二叉树和写出前序遍历

知道中序遍历和后续遍历 , 若何画出二叉树 , 并写出前序遍历 。 其实只要知道肆意两个遍历 , 即可画出应有的二叉树 , 与是否是满二叉树无关!!!
方式/
1如图 , 例子来申明 。 知道中序和后序遍历 , 画二叉树和写出前序遍历 。

知道中序和后序遍历,画二叉树和写出前序遍历



2从后序遍历知道 , 最后一个必然是根节点 , 是以A是根 。 再连系中序遍历可知HDMIBJNE是A的左子树部门 , FKCG是右子树部门 。

知道中序和后序遍历,画二叉树和写出前序遍历



3取A的右子树部门来看先 , 右子树部门的中序遍历:FKCE , 后序遍历:KFGC 。 接着从后序遍历中看A的右子树部门KFGC , 所以C是根 。 又从中序遍历知 , FK是C的左子树部门 , G是C右子树 。 如图所示

知道中序和后序遍历,画二叉树和写出前序遍历



4利用同样的方式 , C的左子树部门 , 中序:FK , 后序:KF 。 可以得出F是根 , 那么K只能是F的右子树了 。 此时如图所示 , A的右子树部门都出来了

知道中序和后序遍历,画二叉树和写出前序遍历



5再看 , A的左子树部门HDMIBJE , 中序:HDMIBJNE , 后序:HMIDNJEB 。 后序遍历可知 , B是根结点 , 那么再连系中序遍历可知道HDMI是B的左子树部门 , JNE是B的右子树部门 。

知道中序和后序遍历,画二叉树和写出前序遍历



6紧接着就是看B的左子树部门HDMI , 中序:HDMI , 后序:HMID , 可知D是根 , H是D的左子树 , MI是D的右子树部门 , 如图所示 。

知道中序和后序遍历,画二叉树和写出前序遍历



7看到D的右子树部门 , 中序后序都是MI , 按照后序中序的特征可知道 , 根只能是I , M是I的左子树 。

知道中序和后序遍历,画二叉树和写出前序遍历



8再接着看看B的右子树部门JNE , 中序:JNE , 后序:NJE , 后序看出E是根 , 中序看出E无右子树 , 只有JN是E的左子树部门 。

知道中序和后序遍历,画二叉树和写出前序遍历



9最后看JN的中序:JN , 后序:NJ , 按照后序特征看出 , J是根 , 中序看出N是J的右子树 。 那么整体的二叉树就出来了 , 如图所示 。

知道中序和后序遍历,画二叉树和写出前序遍历



牛刀小试 。 1已知中序遍历:ACQVLCOJYPRKSXG
后序遍历:AVQCOCJLRSKPGXY
画出二叉树 , 并写出前序遍历 。

2【知道中序和后序遍历,画二叉树和写出前序遍历】 二叉树如图所示 , 前序遍历是YLCAQVJCOXPKRSG 

知道中序和后序遍历,画二叉树和写出前序遍历

猜你喜欢