博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求二叉树的高度
阅读量:6268 次
发布时间:2019-06-22

本文共 642 字,大约阅读时间需要 2 分钟。

一、递归实现

int Max(int a,int b)//a,b中的最大值{    return a>b?a:b;}int GetHeight(struct BTree *T)//求二叉树高度{    if(!T) return 0;//递归出口    return Max(GetHeight(T->left),GetHeight(T->right))+1;//递归求出左子树和右子树的高度}

二、非递归实现(层序遍历)

int GetHeightByQueue(struct BTree *T)//非递归实现{    struct BTree *queue[1000],*s;//构建队列    int f=0,r=0;    int last=1,level=0;    queue[r++]=T;//根节点入队    while(f!=r)    {        s=queue[f++];        if(s->left!=NULL) queue[r++]=s->left;        if(s->right!=NULL) queue[r++]=s->right;        if(f==last)        {            ++level;            last=r;        }    }    return level;}

转载于:https://www.cnblogs.com/xLester/p/7570319.html

你可能感兴趣的文章
技术博客网址收藏
查看>>
python 金融分析学习
查看>>
授人以渔不如授人以鱼
查看>>
matlab练习程序(图像Haar小波变换)
查看>>
【Java】从域名得到ip
查看>>
Mysql索引会失效的几种情况分析
查看>>
LVM逻辑卷
查看>>
zoj3591 Nim(Nim博弈)
查看>>
canvas绘图
查看>>
poj - 3039 Margaritas on the River Walk
查看>>
bootstrap(5)关于导航
查看>>
Aptana插件在eclipse中安装
查看>>
jQuery-数据管理-删除事件
查看>>
下载器简单实例
查看>>
java实现分页工具类(JDBC)
查看>>
欧几里德算法与扩展欧几里德算法
查看>>
Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)
查看>>
通过kafka提供的命令来查看offset消费情况
查看>>
oracle数据库从入门到精通之四
查看>>
自定义圆形图片控件
查看>>