知道先序遍历构造二叉树
时间: 2023-11-14 09:36:39 浏览: 78
二叉树的几种操作,包括递归先序建立二叉树、先序遍历、中序遍历、后序遍历、非递归的各种遍历
先序遍历构造二叉树是指,给定二叉树的先序遍历序列,构造出这棵二叉树。
具体构造方法如下:
1. 若先序遍历序列为空,则返回空树。
2. 取出先序遍历序列的第一个元素作为根节点。
3. 在先序遍历序列中找到第一个大于根节点的元素,将序列分为左右两个子序列。左子序列为根节点的左子树的先序遍历序列,右子序列为根节点的右子树的先序遍历序列。
4. 递归地对左子序列和右子序列进行构造,分别得到左子树和右子树。
5. 将左子树和右子树分别作为根节点的左右子树,构造出完整的二叉树。
例如,假设给定的先序遍历序列为[1,2,4,5,3,6,7],那么可以按照以下步骤构造出对应的二叉树:
1. 根节点为1。
2. 在序列[2,4,5,3,6,7]中,第一个大于1的元素是2,因此左子序列为[2,4,5],右子序列为[3,6,7]。
3. 递归地对左子序列[2,4,5]进行构造,得到左子树:
1
/ \
2 3
/ \ / \
4 5 6 7
4. 递归地对右子序列[3,6,7]进行构造,得到右子树:
1
/ \
2 3
/ \ / \
4 5 6 7
5. 将左子树和右子树分别作为根节点1的左右子树,构造出完整的二叉树:
1
/ \
2 3
/ \ / \
4 5 6 7
阅读全文