数据结构二叉树前序、中序、后续?

图中划线处不懂第一处划线:根节点为2,左子树4,7,为什么右无子树?不应该是根2左4右7吗?第二处划线:按照前序根左右方法,根为4,左不应该为7? 为什么是左无子树、右子树为7第三处划线:按照第二处划线的算法,根为6,不应该是右为8? 为什么是左为8、右无子树

第1个回答  2022-11-10
第一处划线:
子树中序遍历为4 7 2,前序遍历为2 4 7
因为前序遍历为根左右,可以确定其根节点为2
但后续4 7可能是一左一右,也可能都是左或都是右,还要结合中序遍历来看
因为中序遍历为左根右,根节点已经确定为2,那么其左边的4 7都是左子树
因此两者综合后可知根节点2的左子树为4 7,没有右子树
如果按你说的是根2左4右7,那么其中序遍历应为4 2 7而不是4 7 2
第二处划线:
子树中序遍历为4 7,前序遍历为4 7

根据前序遍历根左右可知其根节点为4,但后面的7并不能确定是左还是右
又由于中序遍历左根右为4 7,可知7为根节点4的右子树
因此该子树根节点为4,无左子树,右子树为7
如果按你说的左为7,那么其中序遍历应为7 4而不是4 7
第三处划线:
子树中序遍历为8 6,前序遍历为6 8

根据前序遍历根左右可知其根节点为6,但后面的8并不能确定是左还是右
又由于中序遍历左根右为8 6,可知8为根节点6的左子树
因此该子树根节点为6,左子树为8,无右子树
如果按你说的右为8,那么其中序遍历应为6 8而不是8 6
总之先通过前序遍历可以确定根节点,再通过中序遍历才能确定左右子树
一定要两者结合才能得到二叉树的完整结构,不能只看其中之一
码字不易,望采纳~
相似回答