阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】应用Prim算法求解连通网络的
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。
【说明】 应用Prim算法求解连通网络的最小生成树问题。请阅读程序后填空。
const int MaxInt=INT MAX; //INT MAX的值在<limits.h>中
const int n=6; //图的顶点数,应由用户定义
typedef int AdjMatrix[n][n]; //用二维数组作为邻接矩阵表示
typedef struct{ //生成树的边结点
int fromVex,to Vex; //边的起点与终点
int weight; //边上的权值
}TreeEdSenode;
typedef TreeEdgeNode MST[n-1]; //最小生成树定义
void PrimMST (AdjMatrix G,MST T,int rt){
//从顶点rt出发构造图G的最小生成树T,rt成为树的根结点
TreeEdgeNode e; int i,k=0,min,minpos,v;
for(i=0;i<n;i++) //初始化最小生成树T
if(i!=rt){
T[k].fromVex=rt;
(1);
T[k++].weight=G[rt][i];
}
for(k=0;k<n-1;k++){ //依次求MST的候选边
(2);
for(i=k;i<n-1;i++) 八遍历当前候选边集合
if(T[i].weight<min) //选具有最小权值的候选边
{min=T[i].weight;(3);}
if(min==MaxInt) //图不连通,出错处理
{cerr<<“Graph is disconnected!”<<endl; exit(1);}
e=T[minpos];T[minpos]=T[k];(4);
v=T[k].to Vex;
for(i=k+1;i<n-1;i++) //修改候选边集合
if(G[v][T[i].to Vex]<T[i].weight){
T[i].weight=G[v][T[i].toVex];
(5);
}
}
}
(1)T[k].toVex=I (2)min=MaxInt (3)minpos=i (4)T[k]=e; (5)T[i].fromVex=v 解析:(1)T[k].toVex=i
树n边的入度点。
(2)min=MaxInt
最小值变量初始化。
(3)minpos=i
最小值结点的位置。
(4)T[k]=e;
T[minpos]与T[k]交换。
(5)T[i].fromVex=v
候选边的出度点。
●试题四 阅读下列程序说明和C程序,将应填入(n)处的字句写在答卷纸的对应栏内。 【程序说明】 该 计算机类考试 2020-05-25 …
●试题五 阅读下列程序说明和C程序,将应填入程序中(n)处的字句,写在答卷纸的对应栏内。 【程序说 计算机类考试 2020-05-25 …
阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】下面的程序先构造Poi 计算机类考试 2020-05-26 …
阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。[说明] 以下[C程序 计算机类考试 2020-05-26 …
阅读下列程序说明和C程序,将应填入程序中(n)处的字句,写在对应栏内。【程序说明】 本程序先从文件读 计算机类考试 2020-05-26 …
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】 本程序在3×3方格中填入1 计算机类考试 2020-05-26 …
阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】本程序实现功能:读入两个 计算机类考试 2020-05-26 …
读下列程序说明和C程序,将应填入(n)处。 【程序说明】 该程序定义了两个子函数strsort和st 计算机类考试 2020-05-26 …
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】本程序从正文文件text.i 计算机类考试 2020-05-26 …
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】[程序6说明]单源最短路径 计算机类考试 2020-05-26 …