77范文网 - 专业文章范例文档资料分享平台

最小生成树的普里姆算法课设(4)

来源:网络收集 时间:2019-04-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

int i; int w,p; w=INFINITY; for(i=1;i<=vnum;i++)

if(cl[i].lowcost!=0&&cl[i].lowcost

void MiniSpanTree_PRIM(Graph *G,int u) {/* 从第u个顶点出发构造图G的最小生成树 */ ClosEdge closedge; int i,j,k,n=0,a=0;

printf(\最小代价生成树:\\n\

for(j=1;j<=G->vexnum;j++) /* 辅助数组初始化 */ if(j!=u)

{closedge[j].adjvex=u;

closedge[j].lowcost=G->arcs[u][j]; }

closedge[u].lowcost=0; /* 初始,U={u} */

for(i=1;ivexnum;i++) /* 选择其余的G->vexnum-1个顶点 */ {k=minimum(closedge,G->vexnum); /* 求出生成树的下一个顶点 */

printf(\ %d\\n\/* 输出生成树的边及其权值 */

n=n+closedge[k].lowcost;

closedge[k].lowcost=0; /* 第k顶点并入U集 */

for(j=1;j<=G->vexnum;j++) /* 新顶点并入U后,修改辅助数组*/ if(G->arcs[k][j]

closedge[j].lowcost=G->arcs[k][j]; } }

void example() {

12

}a=a+n;printf(\最小权值为:%d\\n\

/* ------------------程序解说---------------------------- */ printf(\本程序将演示构造图的最小代价生成树。\\n\

printf(\首先输入图的顶点数和弧数\\n格式:顶点数,弧数;例如:4,4\\n\ printf(\接着输入各条弧(弧尾,弧头)和弧的权值。\\n\

printf(\格式:顶点1,顶点2,权值;例如\\n1,2,1\\n1,3,2\\n2,4,3\\n3,4,4\\n\ printf(\程序将会构造该图的最小代价生成树。\\n\

printf(\并显示该最小生成树。\\n<1--2> 1\\n<1--3> 2\\n<2--4> 3\\n最小权值为:6\\n\ printf(\请继续选择:\

/* ------------------------------------------------------ */ } void put()

{Graph G; /* 采用邻接矩阵结构的图 */ char j='y'; int u;

while(j!='N'&&j!='n') {

CreateGraph(&G); /* 生成邻接矩阵结构的图 */ while(j!='N'&&j!='n') {

printf(\从哪一顶点开始:\

scanf(\ /* 输入普里姆算法中的起始顶点 */ MiniSpanTree_PRIM(&G,u); /* 普里姆算法求最小生成树 */

printf(\要继续从别的点进行构造最小代价生成树吗?(Y/N)\ fflush(stdin); /*清除缓冲区*/

scanf(\

}

printf(\最小代价生成树构造完毕,继续进行吗?(Y/N)\ fflush(stdin); /*清除缓冲区*/ scanf(\

if(j=='N'||j=='n') printf(\请继续选择:\

} }

void main() {

13

int k,i=0;

printf(\普里姆算法实现最小生成树***************\\n\

printf(\ 1.构造最小代价生成树\\n\printf(\ 2.查看帮助示例\\n\printf(\ 3.退出系统\\n\

printf(\

printf(\请选择:\

for(;k!=-1;) {

switch(scanf(\ {

case 1:put();break;

case 2:example();break;

case 3:printf(\谢谢使用!\\n\

default:printf(\输入有误!\\n请继续选择:\ }

} }

14

5 程序测试

运行以上程序,得到程序主界面,选择1,输入相关数据,得到如图5. 1所示的运行界面:

图5. 1 最小生成树运行界面

15

选择查看帮助示例得到如图5. 2所示运行界面:

图5. 2 示例帮助

运行程序,当用户选择有误,提示异常,得到如图5. 3所示运行结果:

图5. 3 错误警告

16

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库最小生成树的普里姆算法课设(4)在线全文阅读。

最小生成树的普里姆算法课设(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/596617.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: