【分析解答题】
【说明】 应用prim算法求解连通网络的最小生成树问题。请阅读程序后填空。
Const int mAxint=int mAx;//int mAx的值在<limits.h>中
Const int n=6;//图的顶点数,应由用户定义
typEDEF intADjmAtrix[n][n];//用二维数组作为邻接矩阵表示
typEDEF struCt//生成树的边结点
int FromvEx,to vEx;//边的起点与终点
int wEight;//边上的权值
trEEEDsEnoDE;
typEDEF trEEEDgEnoDE mst[n-1];//最小生成树定义
voiD primmstADjmAtrix 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) ;
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项