6-9 求二叉树高度(20 point(s))
2017-11-02 08:40
197 查看
6-9 求二叉树高度(20 point(s))
本题要求给定二叉树的高度。函数接口定义:
int GetHeight( BinTree BT );
其中
BinTree结构定义如下:
typedef struct TNode *Position; typedef Position BinTree; struct TNode{ ElementType Data; BinTree Left; BinTree Right; };
要求函数返回给定二叉树BT的高度值。
裁判测试程序样例:
#include <stdio.h>
#include <stdlib.h>
typedef char ElementType;
typedef struct TNode *Position; typedef Position BinTree; struct TNode{ ElementType Data; BinTree Left; BinTree Right; };
BinTree CreatBinTree(); /* 实现细节忽略 */
int GetHeight( BinTree BT );
int main()
{
BinTree BT = CreatBinTree();
printf("%d\n", GetHeight(BT));
return 0;
}
/* 你的代码将被嵌在这里 */
输出样例(对于图中给出的树):
4
int GetHeight( BinTree BT ){//如果已知左子树高度和右子树高度 //树高为max(Lh,Rh)+1,用后续遍历 int lh,rh; if(BT == NULL)return 0;//实际上是一个导致加的过程,到底时为零 //通过递归倒着往回加这样返回出去的时候就是树高 else{ lh = GetHeight(BT->Left); rh = GetHeight(BT->Right); return (lh>rh?lh:rh)+1; } }
相关文章推荐
- 求二叉树高度(20 分)
- 6-1 求二叉树高度(20 分)
- 求二叉树高度(20 分)
- 编程练习-二叉树(求二叉树的高度)
- 求二叉树的叶子节点数目/二叉树的高度
- 关于二叉树的宽度,高度,相等
- 求二叉树高度
- 【数据结构作业四】以二叉链表作存储结构,建立一棵二叉树,并输出该二叉树的先序、中序、后序遍历序列、高度和其叶子结点数。
- AVL(高度平衡的二叉树)
- 二叉树2——删除节点与求度,高度
- 计算二叉树的高度、节点数、叶子节点数
- 【40】二叉树的高度
- Chapter 4 | Trees and Graphs--有序数组构建最小高度的二叉树
- 二叉树求树的高度
- 数据结构面试题/求二叉树的高度/销毁一棵二叉树-->
- 二叉查找树的结点插入,查找,删除,计算二叉树的高度
- 二叉树最大宽度和高度
- 二叉树的先序中序后序以及递归算法求高度和结点数目
- 二叉树的宽度与高度
- CODE[VS] NO.1501 二叉树最大宽度和高度