以下为《实验12最小生成树***实验报告纸》的无排版文字预览,完整内容请下载
XX农业***实验报告纸
信科院 (院、系) 计算机 专业 201 班 课
学号 ***4127 姓名 陈某某 实验日期 2021.6.22 教师评定
实验12 最小生成树
一、实验目的
掌握普里姆算法构造最小生成树;
掌握克鲁斯卡尔算法构造最小生成树。
二、实验内容与要求
构建如上带权图的邻接矩阵存储结构;分别使用普里姆算法和克鲁斯卡尔算法生成该图的最小生成树。
三、实验步骤
创建带权图G的邻接矩阵
输出带权图G的邻接矩阵
普里姆算法
克鲁斯卡尔算法
(选做)构建图的邻接表存储结构,并在其上使用普里姆算法和克鲁斯卡尔算法构造最小生成树。
(6) 编写主函数测试以上方法
四、实验结果
(1)代码
void Prim(MGraph g, int v)
{
int lowcost[MAXV], closest[MAXV], i, min, j, k;
for (i = 0; i < g.n; i++)
{
closest[i] = v;
lowcost[i] = g.edges[v][i];
}
for (i = 1; i < g.n; i++)
{
min = INF;
for (j = 0; j < g.n; j++)
{
if (lowcost[j] != 0 && lowcost[j] < min)
{
min = lowcost[j];
k = j;
}
}
printf("边(%c,%c)权为:%d\n", closest[k]+65, k+65, min);
lowcost[k] = 0;
for (j = 0; j < g.n; j++)
{
if (g.edges[k][j] != 0 && g.edges[k][j] < lowcost[j])
{
lowcost[j] = g.edges[k][j];
closest[j] = k;
}
}
}
}
void Kruskal(MGraph g)
{
int i,j,u1,v1,sn1,sn2,k;
int vset[MAX];
Edge E[MaxSize];
k = 0;
for(i=0;i请点击下方选择您需要的文档下载。
以上为《实验12最小生成树***实验报告纸》的无排版文字预览,完整内容请下载
实验12最小生成树***实验报告纸由用户“XX王道”分享发布,转载请注明出处