算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx

上传人:lao****ou 文档编号:1141319 上传时间:2024-12-04 格式:DOCX 页数:8 大小:18.50KB
下载 相关 举报
算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx_第1页
第1页 / 共8页
算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx_第2页
第2页 / 共8页
算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx_第3页
第3页 / 共8页
算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx_第4页
第4页 / 共8页
算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx》由会员分享,可在线阅读,更多相关《算法与数据结构课程设计《兰州道路交通网络信息查询源程序》.docx(8页珍藏版)》请在第一文库网上搜索。

1、兰州道路交通网络信息查询ttinc1udettinc1udeWdefineMVNumIOo最大顶点数WdefineMaxint32767enumboo1eanFA1SE,TRUE);typedefcharVertexType;typedefintAdjmatrix;typedefstructVertexTypevexsMVNum;顶点数组,类型假定为char型AdjmatrixarcsMVNumMVNum;邻接矩阵,假定为int型MGraph;voidCreateMGraph(MGraph*G,intn,inte)采用邻接矩阵表示法构造有向图G,n,e表示图的当前顶点数和边数intarcsEM

2、VNumMVNum;inti,j,k,w;for(i=1;ivexsEi=(char)i;.for(i=1;i=n;i+)for(j=1;jarcsij=MaXint;初始化邻接矩阵printf(,rshuru%dtiaobiandei,j,w:nr,e);for(k=1;k=e;k+)读入e条边,建立邻接矩阵scanf(,r%d,%d,%d&i,&j,&w);G-arcsij=w;)printf(,ryouxiangtudecunchujiegoujianIiwanbi!nn);)voidDijkstra(MGraph*G,intv1,intn)用Dijkstra算法求有向图G的V1顶点到其

3、他顶点V的最短路径Pv及其权Dv设G是有向图的邻接矩阵,若边i,j不存在,则Gij=MaxintSv为真当且仅当vS,即已求得从V1到V的最短路径intD2MVNum,P2MVNum;intV,i,w,min;enumboo1eanSMVNum;for(v=1;varcsv1v;置初始的最短路径值if(D2vMaxint)P2v=v1/V1是V的前趋(双亲)e1seP2Ev=O;/V无前趋)D2v1=0;Sv1TRUE;/S集初始时只有源点,源点到源点的距离为0开始循环,每次求得V1到某个V顶点的最短路径,并加V到S集中for(i=2;i;i+)其余-1个顶点min=Maxint;for(w=

4、1;w=;w+)if(!SEw&D2Ewmin)v=w;min=D2Ew1)w顶点离v1顶点更近Sv=TRUE;for(w=1;warcsvwarcsvw;P2w=v;/End_if/End_forprintf(,1ujingchangduIujingn);for(i=1;i=n;i+)printf(%5d,r,D2i);printf(%5d,r,i);v=P2i;whi1e(v!=0)printf(,r-%d,r,v);v=P2v;)printf(,nn);)voidF1oyd(MGraph*G,intn)intDEMVNumEMVNum,PEMVNumMVNum;inti,j,k,v,w;

5、for(i=1;i=n;i+)设置路径长度D和路径path初值for(j=1;jarcsiEj!=Maxint)Pij=j;j是i的后继e1sePijO;Dij=G-arcsij;)for(k=1;k=n;k+)for(i=1;i=n;i+)做k次迭代,每次均试图将顶点k扩充到当前求得的从i到j的最短路径Pijfor(j=1;j=n;j+)if(Dik+Dkj%dn,k);输出后继顶点k=Pkw;继续找下一个后继顶点)printf(ff-%dff,w)/输出终点Wprintf(,Iujingchangdu:%dn,f,DvEw);)e1seif(xz=1)printf(,qiudanyuanIujing,shuruqidianv:);scanf(,%d,r,&v);Dijkstra(G,v,n);调用迪杰斯特拉算法printf(,rjieshuqiuzuiduanIujing,bybye!n,r);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服