首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信
阅读下列说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信
admin
2018-07-23
56
问题
阅读下列说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗地的过程中,仅能容忍一定范围的信号衰减,称为容忍值。分布网络可表示为一个树形结构,如题图4-1所示。信号源是树根,树中的每个节点(除了根)表示一个可以放置放大器的子节点,其中某些节点同时也是信号消耗点,信号从一个节点流向其子节点。
每个节点有一个d值,表示从其父节点到该节点的信号衰减量。例如,在题图4-1中,节点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处放置放大器并不能解决到达叶子节点的信号衰减问题。例如,在题图4-1中,从节点p到其所有叶子节点的最大衰减值为4。若容忍值为3,则必须在s处放置信号放大器,这样可使得节点p的M值为2。同样,需要在节点q、v处放置信号放大器,如题图4-2阴影节点所示。若在某节点放置了信号放大器,则从该节点输出的信号与信号源输出的信号等价。
函数placeBoosters(TreeNode*root)的功能是:对于给定树形分布网络中各个节点,计算其信号衰减量的最大值,并确定应在树中的哪些节点放置信号放大器。
全局变量Tolerance保存信号衰减容忍值。树的节点类型定义如下:
typedef struct TreeNode {
int id;/*当前节点的识别号*/
int ChildNum;/*当前节点的子节点数目*/
int d;/*父节点到当前节点的信号衰减值*/
struct TreeNode*★childptr;/*向量,存放当前节点到其所有子节点的指针*/
int M;/*当前节点到其所有子节点的信号衰减值中的最大值*/
bool boost;/*是否在当前节点放置信号放大器的标志*/
} TreeNode;
【C语言函数】
Void placeBoosters(TreeN0de *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] (4)placeBoosters(p) (5)degradation
解析
本题考查数据结构中树的基本操作。题目说明部分对树的结构以及程序的目的有比较明确的说明。本程序的功能是在合适的位置安放信号放大器。通过对题目说明部分的分析可以得知放置信号放大器的原则是判断当前节点的d
+M
是否大于容忍值。若大于,则在i处设信号放大器。例如,对于节点s,d[s]=2,M[s]=2,d[s]+M[s]=4,此时容忍值为3,则d[s]+M[s1]>3,需要在此放置一个信号放大器。但在题目中,节点的M值是未提供的,所以程序应完成两个操作,第一个是求出节点的M值,第二个是确定当前节点是否需要加信号放大器。
下面进行具体的代码分析。
空(1)处是一个判断条件,当条件成立时,才能进入程序主体。这一空非常容易,在对树进行操作的过程中,只有当前节点不为空节点时才有必要进行相应的操作,所以此处应填入root。
通过对程序主体进行分析可知,指针p用于指向子节点,其初始值应为第一个子节点childptr[0]的指针,因此空(2)处应填入root->childptr[0],此后P依次指向下一个子节点。因此空(3)处应填入root->childptr
。
空(4)处是关键的一步,由于“要计算节点的M值,必须先算出其所有子节点的M值”,所以需要用到递归,利用递归来计算子节点的M值,故此处填入placeBoosters(p)。
空(5)处非常容易,是将已求得的M值存入当前节点的root->M中,由于程序中计算出来的M记录在degradation中,所以此处填入degradation。
转载请注明原文地址:https://www.kaotiyun.com/show/pKDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
请说出(1)、(2)、(3)、(4)、(5)对应行的含义。(1)图6-3是Windowsxp的DNS设置窗口,请指出图6-3中配置错误之处。(2)在Windowsxp系统中,根据图6-3中的相关信息,请写出默认路由。(3)图6-
阅读以下说明,回答问题1和问题2。【说明】某学校拟组建一个小型校园网,具体设计如下:1.设计要求。(1)终端用户包括:48个校园网普通用户;一个有24个多媒体用户的电子阅览室;一个有48个用户的多媒体教室(性能要求高于电子阅
ISDN分哪几层?NT2(网络终端连接设备)提供哪两种交换功能?请说出(1)的含义。
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。备份就是对数据文件的备份,备份网络文件就是将所需要的文刊:复制到光盘、磁带或磁盘等存储介质上。这种备份网络文件的思路是否正确?请用200字以内的文字简
请用100字以内的文字说明该网管软件项目采用快速原型开发方法的优缺点。请指出图7-15可能存在的关键路径是什么?(请用英文字母序号列出)
在配置Windows2003VPN服务器时,在管理工具中打开“路由和远程访问”,接着在所列出的本地服务器上单击鼠标右键,从弹出菜单中选择“配置并启用路由和远程访问”。在以下“路由和远程访问服务器安装向导”界面中(见图1-14),选择(1)单选按钮,接着
请说出图9-1的拓扑结构名称与特点。根据IP地址与子网掩码,请判断它们是否属于同一个网段?如果不是,请说出他们分别属于哪个网段。
从下列的2道试题(试题5、试题6)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。请认真阅读下列有关于路由器配置的技术说明,根据要求回答问题1至问题5。【说明】菜地市级水电站网络除了和远程子网172.20.0.0/24
认真阅读下列有关Linux操作系统的Samba配置技术的说明,根据要求回答问题1至问题6。【说明】SMB(ServerMessageBlock,服务消息块)协议主要用于实现Windows和Linux操作系统中计算机之间共享打印机、共享串行接
阅读以下关于FTTC宽带接入Internet的技术说明,根据要求回答问题1至问题5。【说明】光纤接入网(OpticalAccessNetwork,OAN)是以光纤为传输媒体,并利用光波作为光载波传送信号的接入网。FTTC+LAN是实现居民宽带
随机试题
下列关于钙超载对神经细胞的损伤理解错误的是
Milkwasoneofthemainfoodsforpeoplelongbeforehistorywaswritten.Maybe【21】willremainanimportantfoodaslongasth
下列关于腹股沟斜疝和直疝的鉴别中,错误的是
男性,30岁。发热10天,高达39.6℃,伴头痛,无咳嗽,无呕吐、腹泻,曾按感冒治疗,无好转。查体:贫血貌,表情淡漠,脉搏64次/分,心肺未见异常,肝肋下未及,脾肋下刚触及。白细胞计数3.2×109/L,中性粒细胞0.67,淋巴细胞0.33。胸片未见异常。
阿司匹林预防血栓时应采用
肾岩发病与哪个脏器有关
从发音部位和发音方法的角度,普通话的声母分为哪些类型?
如果发送方使用的加密密钥和接收方使用的解密密钥不相同,从其中一个密钥难以推出另一个密钥,这样的系统称为()系统。
Sandrecameacrossanimportantletteryesterdaywhilecleaningthedesk.
A、Twodays.B、ThewholemonthofDecember.C、Tendays.D、OnlythefirstweekofDecember.A
最新回复
(
0
)