二叉树的高度和深度计算公式

网上有关“二叉树的高度和深度计算公式”话题很是火热,小编也是针对二叉树的高度和深度计算公式寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

原题:

以二叉链表为存储结构,分别写出求二叉树高度及宽度的算法。所谓宽度是指在二叉树的各层上,具有结点数最多的那一层上的结点总数。

标准答案:

①求树的高度

思想:对非空二叉树,其深度等于左子树的最大深度加1。

Int

Depth(BinTree

*T)

{

int

dep1,dep2;

if(T==Null)

return(0);

else

{

dep1=Depth(T->lchild);

dep2=Depth(T->rchild);

if(dep1>dep2)

return(dep1+1);

else

return(dep2+1);

}

②求树的宽度

思想:按层遍历二叉树,采用一个队列q,让根结点入队列,最后出队列,若有左右子树,则左右子树根结点入队列,如此反复,直到队列为空。

int

Width(BinTree

*T)

{

int

front=-1,rear=-1;/*

队列初始化*/

int

flag=0,count=0,p;

/*

p用于指向树中层的最右边的结点,标志flag记录层中结点数的最大值。*/if(T!=Null)

{

rear++;

q[rear]=T;

flag=1;

p=rear;

}

while(front<p)

{

front++;

T=q[front];

if(T->lchild!=Null)

{

rear++;

q[rear]=T->lchild;

count++;

}

if(T->rchild!=Null)

{

rear++;

q[rear]=T->rchild;

count++;

}

if(front==p)

/*

当前层已遍历完毕*/

{

if(flag<count)

flag=count;

count=0;

p=rear;

/*

p指向下一层最右边的结点*/

}

}

/*

endwhile*/

return(flag);

}

如何求二叉树深度

(1)n1=n-2n0+1

(2)n=n0+2^(k-1) -1

(3)n=2n0-1

二叉树的第i层至多有2的 i -1次方个结点;深度为k的二叉树至多有2^(k) -1个结点;对任何一棵二叉树T,如果其终端结点数(即叶子结点数)为n0,度为2的结点数为n2,则n0 = n2 + 1。

怎么计算二叉树高度?

二叉树性质如下:

1 :在二叉树的第i层上至少有2^(i-1)个结点

2:深度为k的二叉树至多有2^(k-1)个结点

3:对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1

4:具有n个结点的完全二叉树的深度是log2n+1(向下取整)

5:如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i(1?i?n),有:

如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则其双亲是?i/2?

如果2i>n,则结点i无左孩子;如果2i?n,则其左孩子是2i

如果2i+1>n,则结点i无右孩子;如果2i+1?n,则其右孩子是2i+1

二叉树深度算法如下:

深度为m的满二叉树有2^m-1个结点;

具有n个结点的完全二叉树的深度为[log2n]+1.(log2n是以2为底n的对数)

分析二叉树的深度(高度)和它的左、右子树深度之间的关系。从二叉树深度的定义可知,二叉树的深度应为其左、右子树深度的最大值加1。由此,需先分别求得左、右子树的深度,算法中“访问结点”的操作为:求得左、右子树深度的最大值,然后加 1 。

int Depth (BiTree T ){ // 返回二叉树的深度

if ( !T ) depthval = 0;

else {

depthLeft = Depth( T->lchild );

depthRight= Depth( T->rchild );

depthval = 1 + (depthLeft > depthRight ?

depthLeft : depthRight);

}

return depthval;

}

扩展资料:

一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且或者最后一层是满的,或者是在右边缺少连续若干结点,则此二叉树为完全二叉树。具有n个结点的完全二叉树的深度为floor(log2n)+1。深度为k的完全二叉树,至少有2k-1个叶子结点,至多有2k-1个结点。

二叉树的深度是从根节点开始(其深度为1)自顶向下逐层累加的;而二叉树高度是从叶节点开始(其高度为1)自底向上逐层累加的。虽然树的深度和高度一样,但是具体到树的某个节点,其深度和高度是不一样的。

百度百科—二叉树

关于“二叉树的高度和深度计算公式”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[又蕊]投稿,不代表育友号立场,如若转载,请注明出处:https://www.jxydedu.cn/kepu/202512-823.html

(1)

文章推荐

  • 佐治亚理工大学排名

    网上有关“佐治亚理工大学排名”话题很是火热,小编也是针对佐治亚理工大学排名寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。全球大学排名排行第71位。录取率为23%,提前录取的录取率为33.3%。佐治亚理工学院(GeorgiaInstituteofTec

    2025年12月06日
    10316
  • 电信手机和固话绑定一起怎么设置打给别人只显示手机号

    网上有关“电信手机和固话绑定一起怎么设置打给别人只显示手机号”话题很是火热,小编也是针对电信手机和固话绑定一起怎么设置打给别人只显示手机号寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。您好,首先感谢您对中国电信的关注和支持。根据您的描述,CDMA终端拨打电话

    2025年12月06日
    8316
  • 中国十大板材有哪些品牌

    网上有关“中国十大板材有哪些品牌”话题很是火热,小编也是针对中国十大板材有哪些品牌寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。中国十大板材品牌:朗生、兔宝宝、莫干山、千年舟、圣象、方圆、联丰、康辉、扬子、大王椰。都是经过市场验证的环保板材。以上板材品牌最硬

    2025年12月07日
    5307
  • 法莫替丁的作用

    网上有关“法莫替丁的作用”话题很是火热,小编也是针对法莫替丁的作用寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。法莫替丁为组织胺H2受体拮抗剂,能够抑制胃酸分泌。适用于胃及十二指肠溃疡、反流性食管炎、上消化道出血、卓-艾综合征等症。中文名称:法莫替丁中文别名

    2025年12月07日
    4310
  • 乒乓球的基本技术动作口诀

    网上有关“乒乓球的基本技术动作口诀”话题很是火热,小编也是针对乒乓球的基本技术动作口诀寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。乒乓球的基本技术动作口诀 在打乒乓球的时候,如果拥有一个好的`发球技术,那么离胜利也就不远了。下面是我为大家整理的乒乓球的基本

    2025年12月07日
    4311
  • wifi万能钥匙老是显示“未发现相关热点信息”是什么意思-

    网上有关“wifi万能钥匙老是显示“未发现相关热点信息”是什么意思?”话题很是火热,小编也是针对wifi万能钥匙老是显示“未发现相关热点信息”是什么意思?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。“未发现相关热点信息”的意思是:你现在的位置附近没有人分享

    2025年12月07日
    8312
  • 子母奶粉港版好还是荷兰版好

    网上有关“子母奶粉港版好还是荷兰版好”话题很是火热,小编也是针对子母奶粉港版好还是荷兰版好寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。港版好。1、港版牛栏和荷兰牛栏完全不一样,港版牛栏虽然名气不大,但各种营养成份齐全,适合亚洲宝宝体质,比较好,是一种性价比

    2025年12月07日
    7316
  • 孔雀开屏鱼用什么鱼好 有多种选择

    网上有关“孔雀开屏鱼用什么鱼好有多种选择”话题很是火热,小编也是针对孔雀开屏鱼用什么鱼好有多种选择寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。孔雀开屏鱼里面的鱼其实有很多选择,武昌鱼、鲈鱼、乌头鱼、金鲳鱼等等都是可以做孔雀开屏鱼的,尽量选择大一点的鱼就

    2025年12月07日
    4317
  • 中国宴席餐桌上的座次是怎么排的?

    网上有关“中国宴席餐桌上的座次是怎么排的?”话题很是火热,小编也是针对中国宴席餐桌上的座次是怎么排的?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。婚宴或酒宴入席之前,座次安排尤为重要,这是我国酒宴的一种传统礼仪。中国人讲究尊卑长幼。排座次有着很深的学问,大

    2025年12月07日
    17322
  • 从广东省佛山市顺德区容桂车站坐什么车可以到广东省南海区桂城一村西

    网上有关“从广东省佛山市顺德区容桂车站坐什么车可以到广东省南海区桂城一村西”话题很是火热,小编也是针对从广东省佛山市顺德区容桂车站坐什么车可以到广东省南海区桂城一村西寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。公交线路:广佛城巴广州南站-容桂线→佛山城

    2025年12月08日
    4308
  • 2023年河南省中招考试分数线

    网上有关“2023年河南省中招考试分数线”话题很是火热,小编也是针对2023年河南省中招考试分数线寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。2023年河南省中招考试分数线介绍如下:2023年河南中招考试分数线最低为270分。具体如下:1、平顶山:市直考区

    2025年12月08日
    2313
  • 江照黎明角色介绍

    网上有关“江照黎明角色介绍”话题很是火热,小编也是针对江照黎明角色介绍寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。《江照黎明》的主角分别是女主李晓楠(马思纯饰演)、女主老公苏睿(刘凯饰演)和男主王诚(白客饰演)马思纯饰演李晓楠,这是一个努力生活,辛苦工作,

    2025年12月08日
    0322

发表回复

本站作者才能评论

评论列表(3条)

  • 又蕊的头像
    又蕊 2025年12月08日

    我是育友号的签约作者“又蕊”

  • 又蕊
    又蕊 2025年12月08日

    本文概览:网上有关“二叉树的高度和深度计算公式”话题很是火热,小编也是针对二叉树的高度和深度计算公式寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您...

  • 又蕊
    用户120810 2025年12月08日

    文章不错《二叉树的高度和深度计算公式》内容很有帮助