pta二叉树采用二叉链表存储,要求根据给定的后序遍历序列和中序遍历序列建立二叉树
时间: 2023-12-03 07:00:30 浏览: 169
用顺序和二叉链表作存储结构实现二叉排序树
5星 · 资源好评率100%
要建立一个使用二叉链表存储的 PTA 二叉树,需要根据给定的后序遍历和中序遍历序列来构建。首先,我们知道二叉树的后序遍历是左子树、右子树、根节点的顺序,而中序遍历是左子树、根节点、右子树的顺序。
为了建立二叉树,我们可以从后序遍历序列中找到根节点,然后在中序遍历序列中找到对应的位置,这样就可以确定左子树和右子树的范围。接下来,我们可以递归地建立左子树和右子树。
具体步骤如下:
1. 从后序遍历序列中找到根节点,假设为 root。
2. 在中序遍历序列中找到 root 的位置,确定左子树和右子树的范围,分别为 [inStart, index - 1] 和 [index + 1, inEnd]。
3. 根据左子树的范围,从后序遍历序列中确定左子树的根节点 leftRoot。
4. 递归地建立左子树,即 buildTree(inorder, postorder, inStart, index - 1)。
5. 根据右子树的范围,从后序遍历序列中确定右子树的根节点 rightRoot。
6. 递归地建立右子树,即 buildTree(inorder, postorder, index + 1, inEnd)。
通过以上步骤,我们可以根据给定的后序遍历和中序遍历序列成功建立二叉树。建立完成后,我们就可以对这棵二叉树进行各种操作,比如遍历、查找等。
阅读全文