pascal二叉树
发布网友
发布时间:2022-05-11 19:16
我来回答
共2个回答
热心网友
时间:2023-10-17 12:55
我来告诉你啊。
前序的顺序是:根,左,右
中序的顺序是:左,根,右
后序的顺序是:左,右,根
如果你要求中序,那么我出个例子
前序ABCDE
后序CEBDA
中序就是:CBAED
推断过程就是:
第一步,确定根A(因为后序的最后一个字母和前序的第一个字母就是最顶点)
第2步,根据前序的例子,根左右,而且后序是从左边最后一个,右边最后一个,然后左边倒数第2个的顺序来探查的,从这里可以看出,肯定B是最左边的倒数第2节点。也就是正数第一节点。则C就是左边的最后节点。E就是右边最后的节点,D就是右边的第一个节点。
最后一步:用中序的规则,先画出二叉树:
A
B D
C E
可以得出了中序:CBAED。
其实并不是很难,只要自己认真琢磨一下就可以了。
树还有几个典型例题:叶子节点数,还有堆排序也要用到树的,哈夫曼树,最小生成树等等。
热心网友
时间:2023-10-17 12:55
知道前序和后序是没有办法求出中序的(情况有多种)
只有知道前序 中序 或者 后序 中序才能求出确切的二叉树,一般最快的方法就是先找出根结点(前序排列的第一个结点一定是根结点,再找在中序中根结点所在位置,就可以知道左子树和右子树了,如此类推....)