




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
问题描述实现Floyd算法,并求所示有向图中各顶点之间的最短路径及其长度。算法思想采用图的邻接矩阵存储,实现Floyd算法数组存储是否存在中间点使长度缩短。设计描述数据存储结构类型的定义:typedefstructMGraph(charvexs[MAX_VERTEX_NUM];intarcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];intvexnum^rcnum;GraphKindkind;)MGraph;源程序#include<stdlib.h>#include<stdio.h>//最大值//最大值//最大顶点个数#defineMAX_VERTEX_NUM20#defineTRUEl#defineFALSE0typedefenum(DG,DN,UDG,UDN}//四种图类型//四种图类型typedefstructMGraph(//顶点向量//顶点向量//邻接矩阵//图的当前顶点数和弧数//图的种类标志intarcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];intvexnum,arcnum;GraphKindkind;}MGraph;voidfind(intP[MAX_VERTEX_NUM][MAX_VERTEX_NUM][MAX_VERTEX_NUM],MGraphG,intajntb);voidmain()(MGraphG;intD[MAX_VERTEX_NUM][MAX_VERTEX_NUM]/P[MAX_VERTEX_NUM][MAX_VERTEX_NUM][MAX_VERTEX_NUM];intv,w,k,a,b,i;printfC'请输入顶点数和弧数“);scanf("%d%d,l/&G.vexnum/&G.arcnum);G.kind=DG;printff'请输入邻接矩阵\n");for(v=0;v<G.vexnum;v++)for(w=0;w<G.vexnum;w++)scanf("%d"z&G.arcs[v][w]); 〃读入邻接矩阵//P[v][w][k]为TRUE,则从v到w的最短路径中含有k节点//D[v][w]从v到w的最短路径的长度for(v=0;v<G.vexnum;v++)for(w=0;w<G.vexnum;w++)(D[v][w]=G.arcs[v][w];for(k=0;k<G.vexnum;k++)P[v][w][k]=FALSE;if(D[v][w]<INFINITY)P[v][w][v]=P[v][w][w]=TRUE;}for(k=0;k<G.vexnum;k++)for(v=0;v<G.vexnum;v++)for(w=0;w<G.vexnum;w++)if(D[v][k]+D[k][w]<D[v][w]){D[v][w]=D[v][k]+D[k][w];for(i=0;i<G.vexnum;i++)P[v][w][i]=P[v][k][i]||P[k][w][i];}for(a=0;a<G.vexnum;a++)for(b=0;b<G.vexnum;b++)if(D[a][b]<INFINITY&&a!=b){printf("%c到%(:最短路径为”,65+a,65+b);printf(,,%c\t"/65+a);find(PzGza,b);printf(”%c\t",65+b);printf(“长度为%d",D[a][b]);printfCV);})voidfind(intP[MAX_VERTEX_NUM][MAX_VERTEX_NUM][MAX_VERTEX_NUM],MGraph
GJntajntb)(intk;for(k=0;k<G.vexnum;k++)if(P[a][b][k]==TRUE&&k!=a&&k!=b){find(P,G,a,k);printf("%c\t",65+k);find(P,G,k,b);}}测试结果博腌入顶点数和弧数69懵瑞入邻接矩阵0310004100055100051000100025I5I5.TOC\o"1-5"\h\z100010( 0005I5I5.100031 000输入1000一 30输入(1000为无穷!z输出to—MMV^Mv路路路路路路路路路路路路路路路路路路路路y短短短短短短短短短短短短短短短短短短短短an曰<瞽瞽<瞽瞽瞽>瞽瞽>瞽瞽S皆瞽>瞽瞽取to—MMV^Mv路路路路路路路路路路路路路路路路路路路路y短短短短短短短短短短短短短短短短短短短短an曰<瞽瞽<瞽瞽瞽>瞽瞽>瞽瞽S皆瞽>瞽瞽取SBCDFcdjfbDf、bc、f、bcdfbc、dsreAAnABBBCCCDDDEEEEFFFPAAAABBBCCCDDEEEEFFFB长度为3D长废*4F*度为5C长度为1QF长度为5DD长度为5D'B长度为3B
BD
D•PvDDD长度为2continuec长度为4D长度为6B长度为8DD486为为为度度度-fe-fe-feB长度为5B DB F长度为13B C长度为7B C长度为6心得体会~。!!憧得了floyd算法的思想,用邻接矩阵存储带权值的图。问题主要出在输出打印方面VoidfindfintP[MAX_VERTEX_NUM][MAX_VERTEX_NUM][MAX_VERTEX_NUM],MGraphG,intajntb)(intk;for(k=0;k<G.vexnum;k++)if(P[a][b][k]==TRUE&&k!=a&&k!=b){find(BG,a,k);printf(,,\t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东广州医科大学附属番禺中心医院笔试真题2024
- 滨州市沾化区代建建设工程有限公司招聘笔试真题2024
- 职场逃兵面试题及答案
- 妊娠高血压综合症护理
- 成功通过CPBA考试的技巧试题及答案
- 2024年四年级英语下册 Module 6 Unit 1 Were you at home yesterday教学设计 外研版(三起)
- 南通城管考试题及答案
- 全国青少年普法税收教育
- 10夺取抗日战争和人民解放战争的胜利 勿忘国耻 教学设计-2023-2024学年道德与法治五年级下册统编版
- 传播设计中的色彩运用试题及答案
- 计算机文字录入处理员中级理论知识试卷答案
- 西北大学研究生学位论文开题报告表
- 缺乏显著性商标驳回复审理由书
- GB/T 26136-2018超高压水切割机
- GB/T 17949.1-2000接地系统的土壤电阻率、接地阻抗和地面电位测量导则第1部分:常规测量
- 数学与创新思维
- 潍柴发动机使用说明
- 体外膈肌起搏器
- “数学悖论”-辛普森悖论
- 《妊娠期并发症妇女的护理》考核试题及答案(共105题)
- 食品工厂设计与环境保护(第三版)-张国农-电子课件
评论
0/150
提交评论