数据结构与算法题目集(中文) 6-8 求二叉树高度 (20分)

Posted ccvv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法题目集(中文) 6-8 求二叉树高度 (20分)相关的知识,希望对你有一定的参考价值。

 1 // #include <stdio.h>
 2 // #include <stdlib.h>
 3 
 4 // typedef char ElementType;
 5 // typedef struct TNode *Position;
 6 // typedef Position BinTree;
 7 // struct TNode{
 8 //     ElementType Data;
 9 //     BinTree Left;
10 //     BinTree Right;
11 // };
12 
13 // int GetHeight( BinTree BT );
14 
15 int main()
16 {
17     BinTree BT = CreatBinTree();
18     printf("%d
", GetHeight(BT));
19     return 0;
20 }
21 int GetHeight( BinTree BT )
22 {
23     int h = 0;
24     if (!BT)
25     {}
26     else if (BT && !BT->Left && !BT->Right)
27     {
28         h = 1;
29     }
30     else if (BT->Left&&!BT->Right)  
31     {
32         h = GetHeight(BT->Left) + 1;
33     }
34     else if (BT->Right&&!BT->Left)
35     {
36         h = GetHeight(BT->Right) + 1;
37     }
38     else
39     {
40         h = GetHeight (BT->Left) > GetHeight (BT->Right) ? GetHeight(BT->Left) + 1 : GetHeight(BT->Right) + 1;
41     }
42 
43     return h;
44 }

 

以上是关于数据结构与算法题目集(中文) 6-8 求二叉树高度 (20分)的主要内容,如果未能解决你的问题,请参考以下文章

递归算法及递归算法求二叉树的高度(二叉链表存储)

第04次作业-树

以二叉链表为存储结构,写出求二叉树高度和宽度的算法

二叉树的层序遍历二叉树叶节点输出算法求二叉树的高度层序创建一棵二叉树

题目3. 平衡二叉树算法查找树中某节点的时间复杂度是多少?

数据结构(C语言版) 树和二叉树 算法设计Demo5