已知中序遍历和层序遍历 恢复二叉树。求大神帮忙!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#define null 0 #include "stdio.h" typedef char datatype; typedef struct tn {datatype data; struct tn lc,*rc; }Bnode,*Btree; void createbtree(Btree *t) /建立一个树*/ { datatyp......
答案就在这里:数据结构-二叉树 问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
层序遍历中,树的根节点一定在他的子节点前面。
中序遍历中,树的根节点恰好把树分为左右两个分支。
所以层序遍历中第一个是树的根,然后在中序遍历中找到这个节点,节点的两边就分别是左子树和又子树。
然后对左右子树继续用以上方法分解。
层次就是从第一层,从左往右遍历,
中序就是 先遍历左子树,根,然后右字数,,,,所以,,
层次第一个是根比如是A,, 那么在中序里A的左边序列都是左子树的,右边都是有字数的
求大神给份算法代码吧。。已经想破头了,初学,想不出来