首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,应填入(n)处。 【说明】 在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗
阅读以下说明和C语言函数,应填入(n)处。 【说明】 在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗
admin
2008-08-01
88
问题
阅读以下说明和C语言函数,应填入(n)处。
【说明】
在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗地的过程中,仅能容忍一定范围的信号衰减,称为容忍值。分布网络可表示为一个树型结构,如图10-9所示。信号源是树根,树中的每个节点(除了根)表示一个可以放置放大器的子节点,其中某些节点同时也是信号消耗点,信号从一个节点流向其子节点。
每个节点有一个d值,表示从其父节点到该节点的信号衰减量。例如,在图10-9中,节点w、p、q的d值分别为2、1、3,树根节点表示信号源,其d值为0。
每个节点有一个M值,表示从该节点出发到其所有叶子的信号衰减量的最大值。显然,叶子节点的M值为0。对于非叶子节点j,M(j)=max{M(k)+d(k)|k是j的孩子节点}。在此公式中,要计算节点的M值,必须先算出其所有子节点的M值。
在计算M值的过程中,对于某个节点i,其有一个子节点k满足d(k)+M(k)大于容忍值,则应在k处放置放大器,否则,从节点i到某叶子节点的信号衰减量会超过容忍值,使得到达该叶子节点时信号不可用,而在节点i处放置放大器并不能解决到达叶子节点的信号衰减问题。
例如,在图10-9中,从节点p到其所有叶子节点的最大衰减值为4。若容忍值为3,则必须在s处放置信号放大器,这样可使得节点p的M值为2。同样,需要在节点小v处放置信号放大器,如图10—10阴影节点所示。若在某节点放置了信号放大器,则从该节点输出的信号与信号源输出的信号等价。
函数placeBoosters(TreeNode*root)的功能是:对于给定树型分布网络中各个节点,计算其信号衰减量的最大值,并确定应在树中的哪些节点放置信号放大器。
全局变量Tolerance保存信号衰减容忍值。
树的节点类型定义如下:
typedef struct TreeNode{
int id; /*当前节点的识别号*/
int ChildNum; /*当前节点的子节点数目*/
int d; /*父节点到当前节点的信号衰减值*/
struct TreeNode **childptr; /*向量,存放当前节点到其所有子节点的指针*/
int M; /*当前节点到其所有子节点的信号衰减值中的最大值*/
bool boost; /*是否在当前节点放置信号放大器的标志*/
}TreeNode;
【C语言函数】
void placeBoosters(TreeNode *root)
{ /* 计算root所指节点处的衰减量,如果衰减量超出了容忍值,则放置放大器*/
TreeNode *p;
int i,degradation;
if( (1) ){
degradation = 0;root->M = 0;
i=0;
if (i>=root->ChildNum)
return;
p=(2);
for(;i<root->ChildNum && p; i++,p =(3)){
p->M = 0;
(4);
if (p->d+p->M>Tolerance) { /*在p所指节点中放置信号放大器*/
p->boost=true;
p->M = 0;
}
if (p->d + p->M > degradation)
degradation = p->d + p->M;
}
root->M =(5);
}
}
选项
答案
(1)root (2)root->childptr[0],或其等价形式 (3)root->childptr[i],p++,或其等价形式 (4)placeBoosters(p) (5)degradation
解析
本题考查树结构的应用。
根据题目中的说明,节点的M值表示从该节点出发到其所有叶子的信号衰减量的最大值。显然,叶子节点的M值为0。对于非叶子节点j,M(j)=max{M(k)+d(k)| k是j的孩子节点}。在此公式中,要计算节点的M值,必须先算出其所有子节点的M值。因此,需要对树进行后序遍历。
对树中节点的运算应针对非空节点,因此空(1)处应填入root。变量degradation用于计算节点的信号衰减量。节点中的ChildNum表示当前节点的孩子数目,因此若“i>=root->ChildNum”,则root指向的节点是叶子。以下代码是对树进行后序遍历并计算节点的信号衰减量。
p= (2) ;
for(;i < root->ChildNum && p; i++,p = (3) ){
p->M = 0;
(4) ;
if (p->d+p->M>Tolerance) { /*在p所指节点中放置信号放大器*/
p->boost = true;
p->M = 0;
}
if (p->d + p->M > degradation)
degradation = p->d + p->M;
}
root->M= (5) ;
}
分析以上代码可知,指针p用于指向子节点,其初始值应为第一个子节点“childptr[0]”的指针,因此空(2)处应填入“root->childptr[0]”,此后p依次指向下一个子节点,因此空(3)处填入“root->childpbtr
”或“p++”。
由于树结构是递归的,因此,可用递归方法计算所有子节点的信号衰减量。在设计思路上,应考虑节点为叶子时的情况(递归终止)以及从子节点返回父节点后需要处理的情况。对于当前的子节点(childptr
),显然需要通过递归调用去处理,因此空(4)处应填入“placeBoosters(p)”
在计算M值的过程中,对于某个节点i,其有一个子节点k满足d(k)+M(k)大于容忍值(p->d+p->M>Tolerance),则应在k处放置放大器(p->boost=true),否则,从节点i到某叶子节点的信号衰减量会超过容忍值,使得到达该叶子节点时信号不可用,而在节点i处放置放大器并不能解决到达叶子节点的信号衰减问题。
当root所指节点的所有子节点的信号衰减量最大值求出来并按要求放置信号放大器后,就可以记录该节点的信号衰减量最大值了,因此空(5)处应填入“degradation”。
转载请注明原文地址:https://kaotiyun.com/show/ZfDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
Web应用链接测试不包括(45)。
在CPU与主存之间设置高速缓冲存储器(Cache)的目的是为了(2)。
针对下列程序段,需要(52)个测试用例才可以满足语句覆盖的要求。 switch(value){ case 0: other=30; break; case 1:
Web应用系统负载压力测试中,(60)不是衡量业务执行效率的指标。
(51)不属于测试人员编写的文档。
白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和动态测试。其中,静态测试除了静态结构分析法、静态质量度量法外,还有______。A.代码检查法B.逻辑覆盖法C.基本路径测试法D.结构覆盖法
下面关于软件测试模型的描述中,不正确的包括______。①V模型的软件测试策略既包括低层测试又包括高层测试,高层测试是为了源代码的正确性,低层测试是为了使整个系统满足用户的需求②V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设
某教学管理数据库中,学生、课程关系模式和主键分别为:S(学号,姓名,性别,家庭住址,电话),关系S的主键为学号;C(课程号,课程名,学分),关系C的主键为课程号。假设一个学生可以选择多门课程,一门课程可以由多个学生选择。一旦学生选择某门课程必定有该课程的成
在结构化分析方法中,利用分层数据流图对系统功能建模。以下关于分层数据流图的叙述中,不正确的是___________(32)。采用数据字典为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据项进行说明,其条目不包括____________(33)。
将图2-1中(1)和(2)空缺名称填写在应的位置。ADSL有哪两种IP地址的分配方式?
随机试题
右心室后负荷增加见于下列哪种疾病
康复医学是具有独立的理论基础,功能评定方法,治疗技能和规范的医学应用学科,旨在加速人体伤病后的恢复进程,预防和(或)减轻其后遗功能障碍程度。康复医学的基本内涵包括
多年来,某地区水体一直受含重金属的化学工业废水污染,对水生态环境产生了严重不良影响,并对附近居民的健康产生了明显的危害,其危害的特点以中枢神经系统最为严重,主要表现为类似脑炎的特殊症状,如走路不稳、言语不清、肢端麻木、狂躁不安等。而且已发现有少数妇女虽然中
A、过滤除菌B、热压灭菌C、煮沸灭菌D、气体灭菌E、干热灭菌醋酸可地松混悬型注射液
因下列情形导致的法律纠纷,适用诉讼时效期间为1的有()。
存款人申请开立一般存款账户有数量限制。()
()是指RFID无源应答器工作用的能量从阅读器的电磁场中获得,自己没有电源,体积小、重量轻、成本低、寿命很长,但需要大功率读写装置。
“两个分母不同的分数相加时,首先必须通分,找到最小公倍数,然后再将分子相加。”这种关于任务完成步骤的知识属于()。
一个字符的标准ASCII码码长是()。
--Thereisn’tanybreadleft.--Oh,______?I’llbuysomeinthesupermarket.I’mgoingthereinafewminutes.
最新回复
(
0
)