【实验目的】
(1)掌握图的最小生成树的概念;
(2)熟练掌握用采用普里姆算法求最小生成树的方法及操作。
【实验准备】
(1)阅读教材中图的最小生成树相关内容;
(2)熟悉普里姆算法。
【实验要求】
(1)采用函数调用的方式完成;
(2)文件funp6-3.cpp的作用是使用普里姆算法求最小生成树的操作;
(3)实验提交必须有完整正确的程序以及程序运行结果的截图。
【实验内容】
编写一个程序,采用普里姆算法求出下图从顶点0出发的最小生成树。
#include <iostream>
#include <cstdio>
using namespace std;
#define INF 0x3f3f3f3f
const int MAXV = 1000;
struct MatGraph
{
int edges[100][100];
int n;
};
void prim(MatGraph g, int v)
{
int lowcost[MAXV];
int MIN;
int closest[MAXV], i, j, k;
for (i = 0; i < g.n; i++)
{
lowcost[i] = g.edges[v][i];
closest[i] = v;
}
for (i = 1; i < g.n; i++)
{
MIN =