首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列算法说明和算法,将应填入(n)的字句写在对应的栏内。 [说明] 下列最短路径算法的具体流程如下:首先构造一个只含n个顶点的森林,然后依权值从小到大从连通网中选择不使森林中产生回路的边加入到森林中去,直至该森林变成一棵树为止,这棵树便是
阅读下列算法说明和算法,将应填入(n)的字句写在对应的栏内。 [说明] 下列最短路径算法的具体流程如下:首先构造一个只含n个顶点的森林,然后依权值从小到大从连通网中选择不使森林中产生回路的边加入到森林中去,直至该森林变成一棵树为止,这棵树便是
admin
2009-02-15
83
问题
阅读下列算法说明和算法,将应填入(n)的字句写在对应的栏内。
[说明]
下列最短路径算法的具体流程如下:首先构造一个只含n个顶点的森林,然后依权值从小到大从连通网中选择不使森林中产生回路的边加入到森林中去,直至该森林变成一棵树为止,这棵树便是连通网的最小生成树。该算法的基本思想是:为使生成树上总的权值之和达到最小,则应使每一条边上的权值尽可能地小,自然应从权值最小的边选起,直至选出 n-1条互不构成回路的权值最小边为止。
[算法]
/*对图定义一种新的表示方法,以一维数组存放图中所有边,并在构建图的存储结构时将它构造为一个“有序表”。以顺序表MSTree返回生成树上各条边。*/
typedef struct{
VertexType vex1;
VertexType vex2;
VRType weight;
} EdgeType;
typedef ElemType EdgeType;
typedef struct { //有向网的定义
VertexType vexs [MAX_VERTEX_N U M ]; //顶点信息
EdgeType edge[ MAX_EDGE_NUM]; //边的信息
int vexnum, arcnum; //图中顶点的数目和边的数目
I ELGraph;
void MiniSpanTree_Kruskal( ELGraph G,SqList& MSTree) {
//G, edge 中依权值从小到大存放有向网中各边
//生成树的边存放在顺序表MSTree中
MFSetF;
InitSet( F, G. vexnum ); //将森林F初始化为N棵树的集合
InitList (MSTree, G. vexnum); //初始化生成树为空树
i=0;k=1;
while(k<(1)){
e = G. edge
; //取第i条权值最小的边
/*函数fix_mfset返回边的顶点所在树的树的根代号,如果边的两个顶点所在树的树根相同,则说明它们已落在同一棵树上。 */
ri = fix_mfset(F, LocateVex(e. vex1) );
r2=(2); //返回两个顶点所在树的树根
if(r1 (3) r2) { //选定生成树上第k条边
if(Listlnsert(MSTree,k,e){(4); //插入生成树
mix_mfset( E, r1,r2); //将两棵树归并为一棵树
}
(5); //继续考察下一条权值最小边
}
DestroySet (F); }
}
选项
答案
(1)G. vexnum(2)fix_mfset(F, LoeateVex(e. vex2)) (3)!=(4)k++。(5)i++
解析
本题考查的是克鲁斯卡尔(Kruskal)算法。理解该算法的关键在于:由于生成树上不允许有问路,因此并非每一条居当前权值最小的边都可选。例如,如图2所示的连通网G5,在依次选中了(e, f),(b, c),(e, d)和(f, s)的4条边之后,权值最小边为(s, d),由于g和d已经连通,若加上(s, d)这条边将使生成树上产生回路,显然这条边不可取。同理,边(f, d)也不可取,之后则依次取(a, s)和(a, b)两条边加入到生成树。
那么在算法中如何判别当前权值最小边的两个顶点之间是否已经连通?从生成树的构造过程可见,初始态为n个顶点分属n棵树,互不连通,每加入一条边,就将两棵树合并为一棵树,在同一棵树上的两个顶点之间自然相连通。由此判别当前权值最小边是否可取只要判别它的两个顶点是否在同一棵树上即可。
转载请注明原文地址:https://kaotiyun.com/show/vrDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在软件开发过程中,详细设计的内容不包括()设计。
在数据库系统中,数据的()是指保护数据库,以防止不合法的使用所造成的数据泄漏、更改或破坏。
在支持多线程的操作系统中,假设进程P创建了若干个线程,那么__________是不能被这些线程共享的。
结构化开发方法中,(35)主要包含对数据结构和算法的设计。对算法设计时,其主要依据来自(36)。描述算法时,(37)不是理想的表达方式。(36)
某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(40)排序算法最好,时间复杂度为(41)。(40)
已知函数f()、g()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为(12);若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f
若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是_______。
测试执行过程的阶段不包括______。
页式存储系统的逻辑地址是由页号和页内地址两部分组成。假定页面的大小为4K,地址变换过程如下图所示,图中逻辑地址用十进制表示。图中有效地址经过变换后,十进制物理地址a应为(18)。
随机试题
用含有少量Ca2+离子的蒸馏水配制EDTA溶液,于pH=5.0时,用锌标准溶液标定EDTA溶液的浓度,然后用上述EDTA溶液,于pH=10.0时,滴定试样中Ca2+的含量,问对测定结果有无影响()。
使∫1+∞f(x)dx=1成立的f(x)为()。
关于马蹄肾的描述,下列错误的是
检查某班15岁学生50名,其中龋病者10人,龋失补牙数为:D=70,M=2,F=8,龋失补牙面数为:D=210,M=10,F=13。这班学生龋面均为
常温下,在CH2COOH与CH2COONa的混合溶液中,若它们的浓度均为0.10mol.L-1,测得pH值是4.75,现将此溶液与等体积的水混合后,溶液的pH值是:
六年级五个班的同学共植树100棵。已知每个班植树的棵数都不相同.且按数量从多到少的排名恰好是一、二、三、四、五班。又知一班植的棵数是二、三班植的棵数之和,二班植的棵数是四、五班植的棵数之和,那么三班最多植树多少棵?
皇权是一种象征性的权威,是确保政府决策正常化和社会秩序稳定化的__________性力量。从这个意义上来说,皇权的存在并不影响民主政治的发展,相反,如果协调得当,皇权甚至会成为民主政治的__________力量。填入横线部分最恰当的一项是()。
科学研究发现,植物对触摸作出反应是因为它们认为自己正在遭受风的打击.因此“觉得”必须提高强度来防止风的破坏。每天只要对植物的茎进行几秒钟的抚摸和敲击就可使植物枝干的密度加强。在植物被触摸不到30分钟后,植物的基因便生成使其体内钙含量提高的蛋白质。钙的增加相
A、条件(1)充分,但条件(2)不充分B、条件(2)充分,但条件(1)不充分C、条件(1)和条件(2)单独都不充分,但条件(1)和条件(2)联合起来充分D、条件(1)充分,条件(2)也充分E、条件(1)和条件(2)单独都不充分,条件(1)和条件(2
AActionsTakentoHelpBTreatmentofVomitingCTheDifferencebetweenLifeandDeathDMedicalImportanceofFirstAidE
最新回复
(
0
)