怎么由先序和中序来找二叉树?
在遍历顺序中,第一顺序是左、右,中间顺序是左、中、右。因此该方法是通过一阶(根节点必须存在且必须是子树遍历的第一个节点)找到根节点,然后根据相应根节点在中间阶的位置来区分左右子树。左子树是它的左子树,右子树是它的右子树。
例如,如果a是根,则在中间顺序中,左子树是dfegb,右子树是cikjh。然后利用递归的思想对左子树进行分析。dfegb在pre-order中以b开头,因此b是根节点。从中间的顺序,我们可以看到这棵树只有左子树dfeg;d是根,只有右子树feg;e是根,左叶是f,右叶是g。
然后看cikjh。从前序我们知道c是根,从中序我们知道只有右子树ikjh。从前序h作为根,从中间序我们可以看到只有左子树ikj。这棵树的根是我,只有右边的子树。j是根,k是它的左叶。
如何由二叉树的先序和中序序列画出二叉树?
二叉树可以由两次遍历的顺序唯一确定。例如,给定一个二叉树,前序序列是abdecfg,中序序列是dbeafcg。二叉树的根可以由前序序列确定为a,因为前序遍历顺序是从根到左子树再到右子树。从中序序列可以看出dbe在a的左子树中,fcg在a的右子树中,因为b在前序序列中跟随a,所以b必须是a的左子树的根。在前序序列中,a的左子树是dbe。前序序列的遍历顺序为:左子树、父子树和右子树。我们可以看到d是b的左子树,e是b的右子树。我们也可以分析根a的右子树。前序序列中的abde已经遍历了根和左子树,所以剩余的cfg就是右子树遍历的序列。可以看出,c是右子树的根,f是c的左子树,g是c的右子树,因此,二叉树的序列遍历顺序应该是abcdefg。
原文标题:先序和中序确定二叉树 怎么由先序和中序来找二叉树?,如若转载,请注明出处:https://www.saibowen.com/news/21341.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。