#define infinity 1000000
#define max_vertexes 5
typedef int Graph[max_vertexes][max_vertexes];
void prim(Graph G,int vcount,int father[])
{
int i,j,k;
int lowcost[max_vertexes],closeset[max_vertexes],used[max_vertexes];
for (i=0;i<vcount;i++)
{
lowcost[i]=G[0][i];
closeset[i]=0;
used[i]=0;
father[i]=-1;
}
used[0]=1;
for (i=1;i<vcount;i++)
{
j=0;
while (used[j])
j++;
for (k=0;k<vcount;k++)
if ((!used[k])&&(lowcost[k]<lowcost[j]))
j=k;
father[j]=closeset[j];
used[j]=1;
for (k=0;k<vcount;k++)
if (!used[k]&&(G[j][k]<lowcost[k]))
{
lowcost[k]=G[j][k];
closeset[k]=j;
}
}
}
分享到:
相关推荐
prim算法求最小生成树
用字符文件提供数据建立连通带权网络邻接矩阵存储¬¬结构。编写程序,用Prim算法求一棵最小生成树。要求输出最小生成树的各条边(用顶点无序偶表示)、各条边上的权值、最小生成树所有边上的权值之和。
根据书P262习题3给定的无向带权图,用邻接矩阵作为存储结构,用prim算法构造其最小生成树。 对图G(V,E)设置集合S,存放已访问的顶点,然后每次从集合V-S中选择与集合S的最短距离最小的一个顶点(记为u),访问并加入...
prim算法求最小生成树
Prim与Kruskal算法的最小生成树matlab实现
matlab小白 最小生成树 在tree中添加路径利用prim算法直接导出最小生成树。
代码 最小生成树Prim算法代码代码 最小生成树Prim算法代码代码 最小生成树Prim算法代码代码 最小生成树Prim算法代码代码 最小生成树Prim算法代码代码 最小生成树Prim算法代码代码 最小生成树Prim算法代码代码 最小...
基于MATLAB的最小生成树Prim算法 源代码程序.rar
prim算法求最小生成树(采用).doc
用文件存储无向图,然后分别使用Kruska和Prim算法求最小生成树。里面是完整的VS的项目,有详细注释,方便理解跟使用。
Prim算法是一种求解最小生成树问题的贪心算法。其基本原理是:每次从未被选择的顶点中选择一个距离当前生成树最近的顶点加入生成树,直到所有的顶点都被选择。 以下是Prim算法的详细步骤: 初始化:选取图中的任一...
基于matlab的最小生成树的prim算法,有详细的解释,可直接运行
主要讲解了普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树,需要的朋友可以参考下