怎么计算二叉树高度?

做人实称点 2019-06-03 23:35:36
好评回答
计算二叉树的高度可以采用几种不同的算法。算法一:采用后序遍历二叉树,结点最大栈长即为二叉树的高度;算法二:层次遍历二叉树,最大层次即为二叉树的高度;算法三:采用递归算法,求二叉树的高度。/法1:后序遍历,结点最大栈长即为树的高度//法2:层次遍历,层次即为高度//法3:递归求树高//调试程序输入二叉树:-a##*b##-c##d##/e##f##//程序输出该二叉树的高度:5#include#include#includeusingnamespacestd;typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;voidCreateTree(BiTree&T){charch;cin>>ch;if(ch=='#')T=NULL;else{T=(BiTree)malloc(sizeof(BiTNode));if(!T)coutdata=ch;CreateTree(T->lchild);CreateTree(T->rchild);}}//法1:后序遍历,结点最大栈长即为树的高度intBT_high(BiTreeT){BiTreep=T,r=NULL;intmax=0;//树高stacks;while(p||!s.empty()){if(p!=NULL){s.push(p);p=p->lchild;}else{p=s.top();if(p->rchild!=NULL&&p->rchild!=r)p=p->rchild;else{if(s.size()>max)max=s.size();//最大层次即为高度r=p;s.pop();p=NULL;}}}returnmax;}//法2:层次遍历,层次即为高度intBT_level_depth(BiTreeT){if(!T)return0;BiTreep=T,Q[100];intfront=-1,rear=-1,last=0,level=0;Q[rear]=p;while(frontlchild)Q[rear]=p->lchild;if(p->rchild)Q[rear]=p->rchild;if(front==last){last=rear;level;//层次1}}returnlevel;}//法3:递归求树高1intmax1=0;//树高intBT_depth1(BiTreeT,intdepth){if(T){if(T->lchild)BT_depth1(T->lchild,depth1);if(T->rchild)BT_depth1(T->rchild,depth1);}if(depth>max1)max1=depth;returndepth;}//法3:递归求树高2intHeight(BiTreeT){if(T==NULL)return0;else{intm=Height(T->lchild);intn=Height(T->rchild);return(m>n)?(m1):(n1);}}intmain(){BiTreeT=NULL;CreateTree(T);cout<<"后序遍历求树高:"<
渔阳君 2022-01-19 17:28:34

相关推荐

qq一上30秒左右就自动掉了怎么回事

解决方案:1.如果安装有虚拟光驱,建议卸载重启两次尝试效果。2.可能是摄像头驱动导致的无法关机。由于系统USB驱动或者与USB设备有关的项目,发生异常导致无法关机。可以尝试在...
详情>
提问时间:2019-04-04

鲍鱼可以带壳一起煮吗

鲍鱼在煮的时候是可以带壳一起的,鲍鱼的壳只要清洗干净之后其实是可以一起烹饪的,不过一般还是建议去壳做会比容易熟,也更容易入味。用鲍鱼煲汤时很多人喜欢只用鲍鱼肉,而把鲍鱼壳扔掉...
详情>
提问时间:2019-07-15

真三国无双ol的尖剑和积刃剑哪个厉害

从成长上看,尖剑攻击成长要比积刃剑高出很多,移动速度尖剑要快的多,其他防体无双也就差几点,除改攻击外,其他改造相同情况下差别英爱不会很大。无双方面,普通无双差别不大,都是狱刀...
详情>
提问时间:2019-06-06

头屑多头皮痒怎么办

头屑多头皮痒可以使用一些无刺激的抑制油脂分泌的洗护产品,注意头发的清洁卫生。在饮食方面,尽量避免食用油腻,辛辣性食物,可以多食用一些黄豆,黑豆,核桃,芹菜,菠菜等富含维生素B...
详情>
提问时间:2020-02-04

问道女娲补天哪去了

女娲补天在今年五月已经和洛迦古都合区了所有用户资料已经在洛迦古都了。你可以直接进洛迦古都区组,同时有一次改名机会。...
详情>
提问时间:2019-02-02

染色体变异会导致基因突变吗

染色体变异可以分为染色体结构变异和染色体数目变异,染色体的结构变异有缺失,重复,倒位,易位四类,且只是染色体片段的变化,可以看作是物理的变化.染色体的倒位和染色体的数目变异都...
详情>
提问时间:2019-03-21

生石灰与水反应是否有气泡

理论上没有.生石灰,即氧化钙,与水反应仅生成氢氧化钙,即我们所说的熟石灰,此过程无气泡生成,但会放热...
详情>
提问时间:2019-09-13

BB5能用8寸的碟片吗?

能用bb5的盘片就分有160/185/203mm三种盘片,只要你换个盘刹座的转换器就能用,否则卡钳装不上。...
详情>
提问时间:2019-06-03

迈瑞宝和帕萨特哪个更有档次

肯定是帕萨特,到哪里但是比较认可的是帕萨特,外观大方气派,纯德系风格设计,帕萨特本身的质量和操控性是很多这个级别车辆没法比的。...
详情>
提问时间:2019-04-01

罗马字体怎么写

罗马数字采用七个罗马字母作数字,即Ⅰ(1)、X(10)、C(100)、M(1000),V(5)、L(50)、D(500)。罗马字(日语:ローマ字)是用来使用拉丁字母来表示日语...
详情>
提问时间:2019-12-01

白羊座是什么意思

Aries[5ZEri:z]n.白羊座,白羊宫AriesAr.iesAHD:[ar“?z,ar“?-?z”]D.J.[6W*ri8z,6W*ri87i8z]K.K.[6Wri...
详情>
提问时间:2019-06-05

二四两边要分清是什么生肖

羊。清清楚楚qīngqīngchǔchǔ【解释】清晰明白有条理【出处】清·褚人获《隋唐演义》第36回:“又见世南生得清清楚楚,弱不胜衣,故憨憨的只管贪看。”【结构】联合式【用...
详情>
提问时间:2019-04-12

功放变压器烧了不知道输出电压怎么办?

63V的电容,功放电压一般是50V或45v,50v*0.7=35V,45v*0.7=32v,所以变压器是AC32-35v×2...
详情>
提问时间:2019-04-01

东风风行景逸X3装什么型号的蓄电池

楼主,你可以自己看一下电瓶的外壳,如果尺寸是260×172×205,那就是12V60AH,如果外观尺寸302×171×208,那就是12V80AH,祝好运...
详情>
提问时间:2019-04-04