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三元表达式
    购物车的升级系统
    python迭代器
    python函数装饰器
    python 闭包函数
    python名称空间与作用域
    python函数的嵌套
    python函数对象
    python函数之可变长参数
    python函数的参数
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12789040.html
Copyright © 2011-2022 走看看