首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
二叉树的带权路径长度(WPL)是二叉树中所有叶结点的带权路径长度之和。给定一棵二叉树T,采用二叉链表存储,结点结构为: 其中叶结点的weight域保存该结点的非负权值。设root为指向T的根结点的指针,请设计求T的WPL的算法,要求: 根据设计思想,采
二叉树的带权路径长度(WPL)是二叉树中所有叶结点的带权路径长度之和。给定一棵二叉树T,采用二叉链表存储,结点结构为: 其中叶结点的weight域保存该结点的非负权值。设root为指向T的根结点的指针,请设计求T的WPL的算法,要求: 根据设计思想,采
admin
2015-12-30
57
问题
二叉树的带权路径长度(WPL)是二叉树中所有叶结点的带权路径长度之和。给定一棵二叉树T,采用二叉链表存储,结点结构为:
其中叶结点的weight域保存该结点的非负权值。设root为指向T的根结点的指针,请设计求T的WPL的算法,要求:
根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
选项
答案
算法的代码如下: ①基于先序遍历的算法: int WPL(BiTree root){ return wpl_PreOrder(root,0); } int wpl PreOrder(BiTree root,int deep){ static int wpl=0;//定义一个static变量存储wpl if(root->lchild==NuLL&&root->lchild==NULL)//若为叶结点,累积wpl wpl+=deep*root->weight, if(root->ichiid!;NuLL)//若左子树不空,对左子树递归遍历 wpl_PreOrder(root->ichild,deep+1), if(root->rchiidI=NULL)//若右子树不空,对右于树递归遍历 wpl_PreOrder(root->rchild,deep+1); return wpl; } ②基于层次遍历的算法: #define MaxSize 100//设置队列的最大容量 int wpl LevelOrder(BiTree root){ BiTree q[MaxSize];//声明队列,end1为头指针,end2为尾指针 int end1,end2,//队列最多容纳MaxSize-1个元素 end1=end2=0;//头指针指向队头元素,尾指针指向队尾的后一个元素 int wpl=deep=0;//初始化wpl和深度 BiTree lastNode;//lastNode用来记录当前层的最后一个结点 BiTree newlastNode;//newlastNode用来记录下一层的最后一个结点 lastNode=root;//lastNode初始化为根结点 newlastNode=NULL;//newlastNode初始化为空 q[end2++]=root;//根结点入队 while(end1!=end2)f//层次遍历,若队列不空则循环 BiTree t=q[end1++];//拿出队列中的头一个元素 if(t->ichild==NULL&&t->lchild==NULL){ wpl+=deep*t->weight; }//若为叶结点,统计wpl if(t->ichild!=NULL){//若非叶结点把左结点入队 q[end2++]=t->ichild; newlastNode=t->ichiid; }//并设下一层的最后一个结点为该结点的左结点 if(t->rchild!=NULL){//处理叶结点 q[end2++]=t->rchild; newlastNode=t->rchild; } if(t==lastNode){//若该结点为本层最后一个结点,更新lastNode lastNode=newlastNode; deep+=1;//层数加1 } } return wpl;//返回wpl }
解析
考查二叉树的带权路径长度,二叉树的带权路径长度为每个叶结点的深度与权值之积的总和,可以使用先序遍历或层次遍历解决问题。
转载请注明原文地址:https://kaotiyun.com/show/3BRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
一战期间,中国民族资本主义迅速发展的主要作用是()。
1961年10月,在苏共二十二大上,赫鲁晓夫宣布苏联基本建成共产主义的时间是()。
1946年5月,中共中央发布的实现“耕者有其田”政策的重要文件是()。
下列选项中不属于《国际联盟盟约》内容的是()。
1947年,苏联一些农村的干部和群众,为了调动广大群众生产积极性,在管理制度方面进行改革,其主要措施是()。
标志着整风运动开始向反“右派”斗争转变的重要文件是()。
阅读下面史料,回答问题:材料一各缔约国主力舰替换总吨位按照标准排水量计算不得超过如下:合众国525000吨;英帝国525000吨;法国175000吨;意大利175000吨;日本315000吨。
某机字长32位,主存容量32MB,按字节编址;该机的Cache采用4路组相联映射方式,Cache容量为16KB,块长为4个字,试回答下列问题:(1)主存地址位数为多少?(2)画出主存地址格式示意图,注明各字段名称及位数。(3)设该Ca
在一个双链表中,在*p结点之前插入*q结点的操作是()。
某微机的寻址范围为64KB,其存储器选择器信号为M,接有8片8KB的存储器,试完成下列问题。(1)画出选片译码逻辑图。(2)写出每片RAM的寻址范围。(3)如果运行时发现不论往哪片存储器存放8KB数据,以4000H起始地址的存
随机试题
下列方法中可以用来创建一个新线程的是()。
男性,45岁,农民,腹泻14天,每日解便6~7次,伴轻度腹胀,大便暗红色,有腥臭,粪质多,无发热及里急后重,曾在当地医院静点环丙沙星1周症状无改善,便检:暗红色黏液血便,高倍镜下红细胞(+++),白细胞(+),可见夏科雷登结晶
下列账户中,()应作为填列资产负债表存货项目的依据。
如果一国的国民收入很高,但其国内利率低于国际市场利率,则其国际收支处于顺差状态。()[2011年真题]
下列关于平均数、中位数和众数的描述,正确的有()。
为什么容量较大的鼠笼式三相异步电动机需采用降压起动?
在交换式局域网中,如果交换机的端口既能自动地和10Mbps设备连接,又能自动地和100Mbps的设备连接,那么,这种局域网交换机被称为【 】。
Oneafternoonwhenlessonswereover,PeterandPaulleftschool.Whenmeboysreachedhome,itwasseveno’clock.Itwasdark
Whilevirtualrealitysystemsaregettingbetteratimmersingusinasimulatedexperienceofreality,oneUKbusinesshasdevel
Caffeineisadrugthatisnaturallyproducedintheleavesandseedsofmanyplants.It’salsoproduced【S1】______andaddedto
最新回复
(
0
)