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;
    
    }
  • 相关阅读:
    python判断语句和循环语句
    Web项目如何做单元测试
    PHP接口自动化测试框架实现
    引入缺陷的原因都有哪些?
    测试基础:(一)
    测试基础(二)
    测试术语2
    测试术语3
    测试术语4
    Spring Cloud Stream与Spring Cloud Bus区别?
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12789040.html
Copyright © 2011-2022 走看看