一道c语言数据结构题,求解答

能写一下过程吗?

先看前序遍历(根,左,右)是bdcaef,那么b一定是根。

这时再看中序遍历(左,根,右)是cdeabf,那么根据b可以把左子树和右子树分开了,左边是cdea,右边是f。

这时只需要继续分析左子树。同样先看前序遍历dcae,那么这个子树的根是d。把中序遍历中的cdea分开成左边c右边ea。

然后继续分析右子树。前序遍历是ae,a是根。中序遍历是ea,那么说明e是左子树。

那么我们可以把这个二叉树画出来了:

从这里就很容易写出后序遍历(左,右,根):ceadfb

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-20
>解题思路:根据前序第一个字符是根的特性,再在中序中找到这个位置,分开,左边的是左子树,右边的是右子树。然后递归求出结果。本回答被网友采纳
相似回答