最小生成树普里姆算法,求指错
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 09:04:02
最小生成树普里姆算法,求指错
#include
#define MAX 50
typedef struct{ /*图的结构体*/
int vex[MAX]; /*顶点数组*/
int vexnum,arcnum; /*顶点数与边数*/
int weight[MAX][MAX]; /*邻接矩阵——权值*/
}MGraph;
typedef struct{ /*辅助数组*/
int adjvex;
int lowcost;
}closedge[MAX];
int mininum(closedge close,MGraph G) /*最小权值顶点查找*/
{
int i=0,j,k,min;
while(close[i].lowcost==0)
\x05i++;
min=close[i].lowcost;
k=i;
for(j=i+1;j0&&min>close[j].lowcost)
\x05{
\x05 min=close[j].lowcost;
\x05 k=j;
\x05}
return k;
}
void PRIM(MGraph G,int u) /*普里姆函数体*/
{
int i,j,k;
closedge close;
k=u;
for(j=0;j
#include
#define MAX 50
typedef struct{ /*图的结构体*/
int vex[MAX]; /*顶点数组*/
int vexnum,arcnum; /*顶点数与边数*/
int weight[MAX][MAX]; /*邻接矩阵——权值*/
}MGraph;
typedef struct{ /*辅助数组*/
int adjvex;
int lowcost;
}closedge[MAX];
int mininum(closedge close,MGraph G) /*最小权值顶点查找*/
{
int i=0,j,k,min;
while(close[i].lowcost==0)
\x05i++;
min=close[i].lowcost;
k=i;
for(j=i+1;j0&&min>close[j].lowcost)
\x05{
\x05 min=close[j].lowcost;
\x05 k=j;
\x05}
return k;
}
void PRIM(MGraph G,int u) /*普里姆函数体*/
{
int i,j,k;
closedge close;
k=u;
for(j=0;j
我改了一下这些地方
程序成功运行并输出边了.
void CreatUDN(MGraph G) 改为void CreatUDN(MGraph &G)
原因,函数里面进行处理的,实际上只是main函数中G的一个副本.这是函数调用时,“形参”与“实参”的区别.实际上处理输入操作的,只是函数里面的临时变量,而不是main里面真正的G.加上&,就表示每次对G的操作,都会去寻找G所在的存储地址进行操作.故这样可以实现直接访问main中的G
printf("\tWelcom to use this program!\n");这句之前,我将G中各数据项全部置0.实际上需要置0的只有矩阵,因为另外那几个数据都有输入操作.原因是,G是main的局部变量.局部变量在创建的时候,若不赋初值,系统会给予一个随机值,而不是0.这些随机值会对生成树算法的计算造成影响.其实,就是没边时突然间“随机”了一些边上去.
程序成功运行并输出边了.
void CreatUDN(MGraph G) 改为void CreatUDN(MGraph &G)
原因,函数里面进行处理的,实际上只是main函数中G的一个副本.这是函数调用时,“形参”与“实参”的区别.实际上处理输入操作的,只是函数里面的临时变量,而不是main里面真正的G.加上&,就表示每次对G的操作,都会去寻找G所在的存储地址进行操作.故这样可以实现直接访问main中的G
printf("\tWelcom to use this program!\n");这句之前,我将G中各数据项全部置0.实际上需要置0的只有矩阵,因为另外那几个数据都有输入操作.原因是,G是main的局部变量.局部变量在创建的时候,若不赋初值,系统会给予一个随机值,而不是0.这些随机值会对生成树算法的计算造成影响.其实,就是没边时突然间“随机”了一些边上去.
最小生成树普里姆算法,求指错
使用普里姆算法求最小生成树.
急求KRUSKAL算法求最小生成树过程演示
用普里姆算法求最小生成树(C++)
数据结构课程设计用Kruskal 算法求最小生成树
求最小生成树 利用Kruskal算法求图G的一棵最小生成树T,用c语言
最小生成树的两种算法?
已知序列如何求该序列的最小次数生成多项式?求C语言算法.
如图所示为一个无向带权图,请分别按照Prim算法和Kruskal算法求最小生成树
最小生成树 普里姆算法和克鲁斯卡尔算法
C语言数据结构 克鲁斯卡尔算法求无向网的最小生成树.
求一个源代码要求显示图的邻接矩阵图的邻接表,深度广度优先遍历最小生成树PRIM算法KRUSCAL算法图的连通分