首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 函数int Toplogcal(LinkedWDigraph G)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。其中图G表示一个具有n个顶点的AOE网,图中顶点从1
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 函数int Toplogcal(LinkedWDigraph G)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。其中图G表示一个具有n个顶点的AOE网,图中顶点从1
admin
2009-05-15
77
问题
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
函数int Toplogcal(LinkedWDigraph G)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。其中图G表示一个具有n个顶点的AOE网,图中顶点从1~n依次编号,图G的存储结构采用邻接表表示,其数据类型定义如下:
typedef struct Gnode{ /*邻接表的表节点类型*/
int adjvex; /*邻接顶点编号*/
int weieht; /*弧上的权值*/
stract Gnode *nextarc; /*指示下一个弧的节点*/
}Gnode;
typedef struct Adjlist{ /*邻接表的头节点类型*/
char vdata; /*顶点的数据信息*/
struct Gnode *Firstadj; /*指向邻接表的第一个表节点*/
}Adjlist;
typedef struct LinkedWDigraph{ /*图的类型*/
int n,e; /*图中顶点个数和边数*/
struct Adjlist *head; /*指向图中第一个顶点的邻接表的头节点*/
}LinkedWDigraph;
例如,某AOE网如图5-4所示,其邻接表存储结构如图5-5所示。
int Toplogical(LinkedWDigraph G)
{
Gnode *p;
int j,w,top=0;
int *Stack,*ve,*indegree;
ve=(int*)malloc((G.n+1)*sizeof(int));
indegree=(int*)malloc((G.n+1)*sizeof(int)); /*存储网中各顶点的入度*/
Stack=(int*)malloe((G.n+1)*sizeof(int)); /*存储入度为0的顶点的编号*/
if(!ve||!indegree||!Stack)exit(0);
for(j=1;j<=G.n;j++){
ve[j]=0;indegree[j]=0;
}/*for*/
for(j=1;j<=G.n;j++){ /*求网中各顶点的入度*/
p=G.head[j].Firstadj;
while(p){
(1);
p=p->nextarc;
}/*while*/
}/*for*/
for(j=1;j<=G.n;j++) /*求网中入度为0的顶点并保存其编号*/
if(!indegree[j])Stack[++top]=j;
while(top>0){
w=(2);
printf("%c",G.head[w].vdata);
p=G.head[w].Firstadj;
while(p){
(3);
if(!indegree[p->adjvex])
Stack[++top]=p->adjvex;
if((4))
ve[p->adjvex]=ve[w]+p->weight;
p=p->nextarc;
}/*while*/
}/*while*/
return (5);
}/*Toplogical*/
选项
答案
(1) indegree[p->adjvex]++,及其等价形式 (2) Stack[top--],及其等价形式 (3) indegree[p->adjvex]--,及其等价形式 (4) ve[w]+p->weight>ve[p->adjvex],及其等价形式 (5) ye[w),及其等价形式
解析
本题考查AOE网络及其拓扑排序和关键路径,做题前需要先弄清楚图G的存储结构。
根据注释,空(1)所在for循环用来统计AOE网中各顶点的入度。根据入度的定义及题中AOE网的存储结构,当p不为NULL时,应将p->adjvex对应的顶点的入度加1。又数组 indegree正是用来存储各顶点入度的,从紧接着的用来求入度为0的顶点的for循环可看出, indegree数组有效下标是从1到G.n,而顶点的编号正好也是从1开始,故空(1)应填 indegree[p->adjvex]++。
各顶点入度统计结束后,收集入度为0的顶点并将其编号保存在栈Stack(数组模拟)中,栈顶指针为数组下表top。
接下来根据各顶点入度进行拓扑排序输出。
空(2)是给变量w赋值,紧接着将w对应的信息输出,根据拓扑排序算法,此处是选择一个入度为0的顶点输出。Stack栈存储的正是入度为0的顶点编号,故空(2)应填Stack[top--]。注意top指向的栈顶,因此不能写成Stack[--top];另外,这里是出栈操作,不能写成Stack[top]。
根据拓扑排序算法,接下来需要将变量w对应的顶点的所有出边删除,即将对应的顶点的入度减1。类似空(1),空(3)应填indegree[p->adjvex]--。接着判断相应顶点的入度是否为0,为0时将其入栈。
空(4)比较难确定,因程序中并未说明ve数组的用途,注意到函数需要返回关键路径的长度,而至此尚无任何相关语句。因此可以断言ve数组正是为了计算关键路径长度而设置的。关键路径是指从开始到结束点的最长路径,所以只要保证每到一个顶点vx,ve[vx]中存储的都是从开始顶点到vx的最长路径(即顶点vx的最早发生时间)即可。故空(4)应填“ve[w]+p->weight>ve[p->adjvex]”。这样,空(5)很容易得出应填“ve[w]”。
转载请注明原文地址:https://www.kaotiyun.com/show/B5xZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
如果分配给子网Y1的网络号为216.28.64.0,分配给子网Y2分配的网络号为216.28.16.0~216.28.31.0。如果连接这两个子网的路由器收到一个目标地址为11011000.00011100.01000011.00100001的IP数据报,
在路由器开机后60s内按【Ctrl+Break】组合键可进入(55)命令状态。
在Linux操作系统中,为一块设备名为eth1的网卡分配IP地址和子网掩码的命令是(38)。
RS-232C是(46)之间的接口标准,它规定的电平的表示方式为(47)。当使用RS-232C连接相关设备时,电缆的长度不应超过(48)m。当用RS-232C直接连接两台计算机时,采用零调制解调器方式,其连接方式为(49)。当计算机需要通过相连的M
RS-232C是(46)之间的接口标准,它规定的电平的表示方式为(47)。当使用RS-232C连接相关设备时,电缆的长度不应超过(48)m。当用RS-232C直接连接两台计算机时,采用零调制解调器方式,其连接方式为(49)。当计算机需要通过相连的M
TCP是一个面向连接的协议,它提供连接的功能是(31)的,采用(32)来实现可靠数据流的传送。为了提高效率,又引入了滑动窗口协议,协议规定重传(33)的分组,这种分组的数量最多可以(34),TCP协议采用滑动窗口协议解决了(35)。
路由信息协议RIP是内部网关协议IGP中使用得最广泛的一种基于(26)的协议,其最大优点是(27)。RIP规定数据每经过一个路由器,跳数增加1,实际使用中,一个通路上最多可包含的路由器数量是(28),更新路由表的原则是使到各目的网络的(29)。更新路由表的
在互连的网络设备中,交换机的工作与网桥相比,区别在于(27),网桥是根据(28)知道是应该转发还是应该过滤数据包。交换机与Hub相比,优点是(29),网桥中为了防止产生循环路径,需要运行(30);算法。具有自学习功能的网桥是(31)。
Atypicalapplicationofthis(71)isADSL.Itisemergingasthetechnologyforhome-andsmall-officeInternetconnectivity.Itp
Routingprotocolsusedifferenttechniquesforassigning(1)toindividualnetwork.Further,eachroutingprotocolformsametricag
随机试题
下列关于要约的说法中,正确的是()
Nearlyallbehaviorproblemsareperfectlynormaldogactivitiesthatoccuratthewrongtimeorplaceoraredirectedatthewr
A.X线片示:骨端膨胀性溶骨性破坏B.X线片示:短骨膨胀,有蜂窝状骨吸收区并夹杂钙化斑块C.X线片示:长骨干骺端骨破坏和日光射线现象,可有Codman三角D.X线片示:骨膜板层状或葱皮状反应性骨形成和骨破坏E.X线片示:自长骨干骺端突出的骨性病损
A.青霉素400万单位静脉滴注,Q6hB.青霉素1000万~2000万单位静脉滴注,加庆大霉素C.两性霉素B静脉滴注D.人工瓣膜置换术E.万古霉素静脉滴注
男婴,胎龄266天,自然分娩,Apgar评分1分钟和5分钟为10分,体检时,下列哪项反射阴性是正常的
在一定条件下,杠杆、齿轮变速器、运算器放大器等可以看做是()。
(2017年真题)《国家中长期教育改革和发展规划纲要(2010—2020年)》提出,推进义务教育均衡发展,切实缩小校际差距,着力解决择校问题。下列选项中,不正确的是()。
在动态化环境下,大力推广对吸毒人员网格化管理是公安管控工作的新举措。了解吸毒人员户籍来源及现状对管控工作有较大帮助。根据某市吸毒人员统计图,选项正确的有:
把快乐分肉体的和精神的两种,这是最糊涂的分析。一切快乐的享受都属于精神的,尽管快乐的原因是肉体上的物质刺激。小孩子初生下来,吃饱了奶就乖乖地睡,并不知道什么是快活,虽然它身体感觉舒服。缘故是小孩子的精神和肉体还没有分化,只是混沌的星云状态。洗一个澡,看一朵
社会角色是指与人们的某种社会地位、身份相一致的一整套权利、义务的规范与行为模式,它是人们对具有特定身份的人的行为期望,它构成社会群体或组织的基础。自获角色不是指建立在血缘、遗传等先天的或生理的因素基础上的社会角色而主要是通过个人的活动与努力而获得的社会角色
最新回复
(
0
)