【流程图】
主程序流程图
开始
创建图
调用prim算法
调用kruskul算法
结束
Prim伪码流程:
Prim(gragh g, char u)
{
辅助结构数组初始化;(点及其相连边最小权值结构数组)
初始一个节点;
For(i=1;i<g.arcnum;i++)
{
选择第i个顶点的最小相连边;
将另个顶点并入;
For(j=0;j<g.arcnum;j++)
新顶点并入后重新选择最小边;
}
}
Kruskul伪码流程:
Kruskul(graph g)
{
用邻接矩阵转换初始化 顶点边结构数组;
将顶点边结构数组按照边权值从小到大排列;
初始化顶点编号;
While(k<g.vexnum-1) //j,k初始为0
{
记录第几条边的两个顶点位置;
如果两个点的不再一个集合,则输出这条边;
For(i=0;i<g.vexnum-1;i++)
合并各条边的标记;
J++;//处理下一条边;
}
文章插图