4.建立二叉树,并对树进行操作 【功能要求】 (1)利用完全二叉树的性质建立一棵二叉树。 (2)统计二叉树度为2、度为1以及叶子结点的个数。 (3)求二叉树的深度。
时间: 2024-05-30 11:15:34 浏览: 48
(1)建立二叉树的过程如下:
1. 将完全二叉树的节点按照从上到下、从左到右的顺序编号,从1开始。
2. 对于节点i,其左子节点编号为2i,右子节点编号为2i+1。
3. 依次输入各节点的值,如果该节点不存在则输入0。
例如,以下序列可以构建一棵完全二叉树:
1 2 3 4 5 6 7
其中,节点1的值为1,左子节点为节点2,右子节点为节点3;节点2的值为2,左子节点为节点4,右子节点为节点5;节点3的值为3,左子节点为节点6,右子节点为节点7。
(2)统计二叉树度为2、度为1以及叶子结点的个数的过程如下:
1. 对于度为2的节点,即同时存在左右子节点的节点,遍历整棵树,统计其数量。
2. 对于度为1的节点,即只存在左子节点或右子节点的节点,遍历整棵树,统计其数量。
3. 对于叶子节点,即没有左右子节点的节点,遍历整棵树,统计其数量。
(3)求二叉树的深度的过程如下:
1. 如果根节点为空,深度为0。
2. 如果根节点存在,则深度为左子树和右子树深度的较大值加1。
3. 递归计算左子树和右子树的深度,直到叶子节点为止。
例如,对于以下二叉树:
1
/ \
2 3
/ \ / \
4 5 6 7
其深度为3。
阅读全文