- 博客(0)
- 资源 (1)
- 收藏
- 关注
数据结构二叉树:从先序和中序遍历结果恢复二叉树
题目:从先序和中序遍历结果恢复二叉树。
分析:输入先序序列和中序序列,从而得到一个完整的二叉树。
步骤:1.找到root,前序遍历的第一节点G就是root。
2.继续观察前序遍历GDAFEMHZ,除了知道G是root,剩下的节点必然是root的左右子树之外。
3.观察中序遍历ADEFGHMZ。其中root节点G左侧的ADEF必然是root的左子树,G右侧的HMZ必然是root的右子树。
4.观察左子树ADEF,左子树的中的根节点必然是大树的root的左孩子。在前序遍历中,大树的root的左孩子d位于root之后,所以左子树的根节点为D。
5.同理,root的右子树节点HMZ中的根节点也可以通过前序遍历求得。
6.上面的过程是递归的。先找到当前树的根节点,然后划分为左子树,右子树,然后进入左子树重复上面的过程,然后进入右子树重复上面的过程。最后就可以还原一棵树了。
2020-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人