求二叉樹的高度
本題要求給定二叉樹的高度。
函式介面定義:
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)
{
int m,n;
if(BT==NULL)
return 0;
else
{
m=GetHeight(BT->Left);
n=GetHeight(BT->Right);
if (m>n)
return(m+1);
else
return(n+1);
}
}
附一個簡單的:
int length(BT head)
{
if(head==NULL)return 0;
int l=length(head->left);
int r=length(head->right);
return l>r?l+1:r+1;
}
相關文章
- 建立一顆二叉樹,並求它的高度 7074二叉樹
- 快速求完全二叉樹的節點個數二叉樹
- 資料結構實驗之二叉樹八:(中序後序)求二叉樹的深度資料結構二叉樹
- 樹2-二叉樹複製, 遍歷, 計算葉子結點和高度二叉樹
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 二叉樹 ---- 前序 中序 後序 知二求一二叉樹
- 排序二叉樹和平衡二叉樹排序二叉樹
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- 二叉樹的子結構、深度以及重建二叉樹二叉樹
- 二叉搜尋樹和二叉樹的最近公共祖先二叉樹
- 二叉樹的映象二叉樹
- 二叉樹的深度二叉樹
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 手擼二叉樹——二叉查詢樹二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 演算法 最小高度樹演算法
- 已知二叉樹的先序和後序求任意一中序二叉樹
- 玩轉二叉樹(樹的遍歷)二叉樹
- 平衡樹和二叉樹的區別二叉樹
- 二叉樹二叉樹
- 刷題系列 - Python用遞迴實現求二叉樹深度Python遞迴二叉樹
- 程式碼隨想錄day14 || 226 翻轉二叉樹,101 對稱二叉樹, 104 二叉樹的最大深度, 111 二叉樹的最小深度二叉樹
- 【LeetCode-二叉樹】二叉樹前序遍歷LeetCode二叉樹
- 判斷二叉樹是否為滿二叉樹二叉樹
- 對稱的二叉樹二叉樹
- 二叉樹的性質二叉樹
- 二叉樹的種類二叉樹
- 二叉樹的遍歷二叉樹
- 5分鐘瞭解二叉樹之LeetCode裡的二叉樹二叉樹LeetCode
- 霍夫曼樹(最優二叉樹)的實現二叉樹
- 自己動手作圖深入理解二叉樹、滿二叉樹及完全二叉樹二叉樹
- 二叉樹、B樹以及B+樹二叉樹
- 平衡二叉樹,B樹,B+樹二叉樹
- 平衡二叉樹(AVL樹)和 二叉排序樹轉化為平衡二叉樹 及C語言實現二叉樹排序C語言
- 相同二叉樹和鏡面二叉樹問題二叉樹
- 深入學習二叉樹 (一) 二叉樹基礎二叉樹
- 樹和二叉樹簡介二叉樹