zoukankan      html  css  js  c++  java
  • 数据结构与算法题目集(中文)6-8 求二叉树高度 (20分)

    1.题目

    本题要求给定二叉树的高度。

    函数接口定义:

    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
    ", GetHeight(BT));
        return 0;
    }
    /* 你的代码将被嵌在这里 */
    

    输出样例(对于图中给出的树):

    4

    2.解题思路

    int GetHeight( BinTree BT );使用该函数进行二叉树的高度计算,而且是函数调用,所以可以想到是使用递归的方式

    3.代码

    int GetHeight( BinTree BT )
    {
        if(BT==NULL)return 0;
    
        int ll=GetHeight(BT->Left)+1;
        int rr=GetHeight(BT->Right)+1;
        if(ll>rr)return ll;
        else
        return rr;
    
    }
  • 相关阅读:
    hdu_5791_Two(DP)
    hdu_5783_Divide the Sequence(贪心)
    hdu_5769_Substring(后缀数组)
    hdu_5778_abs(暴力)
    hdu_5776_sum(前缀和维护)
    hdu_5777_domino(贪心)
    [wikioi2069]油画(贪心)
    [bzoj 1503][NOI 2004]郁闷的出纳员(平衡树)
    数据结构练习
    [poj3274]排排站(Hash)
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12789040.html
Copyright © 2011-2022 走看看