数据结构二叉树:从先序和中序遍历结果恢复二叉树

时间:2023-06-15 06:18:13
【文件属性】:

文件名称:数据结构二叉树:从先序和中序遍历结果恢复二叉树

文件大小:1KB

文件格式:CPP

更新时间:2023-06-15 06:18:13

数据结构 二叉树 先序遍历 树

题目:从先序和中序遍历结果恢复二叉树。 分析:输入先序序列和中序序列,从而得到一个完整的二叉树。 步骤: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.上面的过程是递归的。先找到当前树的根节点,然后划分为左子树,右子树,然后进入左子树重复上面的过程,然后进入右子树重复上面的过程。最后就可以还原一棵树了。


网友评论