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;
    
    }
  • 相关阅读:
    picturebox 图片自适应
    C#中如何生成矢量图
    测试ODBC与OLE
    ODBC具体使用
    C#中的OLEDB连接2
    C#中的ODBC、OLEDB连接
    c#执行并行任务之Parallel与TaskFactory
    C# 4.0 新特性之并行运算(Parallel)
    app的下载中心
    第三方库列表
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12789040.html
Copyright © 2011-2022 走看看