下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验目的1.使学生熟悉最短路径算法实现。2.掌握带权图的存储结构和处理方法。二、实验环境 1.硬件:每个学生需配备计算机一台。操作系统:DOS或Windows; 2.软件:DOS或Windows操作系统+Turbo c;三、实验要求 1.能够独立完成带权图的存储和最短路径的生成。四、实验内容 1.现在假设我国铁路交通图如下(权值表示距离),请用合适的存储结构将下图存储到计算机中方便进行处理。 2.现在我想以最小的代价从徐州出发到达其他目的地,请用Dijkstra算法实现我的要求的路径。五、代码如下#include #include typedef structint *vexs; int
2、*arcs; int vexnum;ylx_graph ;typedef structint adjvex; int lowcost;ylx_markedg ;ylx_graph *ylx_initgraph ()int i,j;ylx_graph *g; g=(ylx_graph *)malloc(sizeof(ylx_graph ); g-vexnum=25; g-vexs=(int*)malloc(g-vexnum*sizeof(int); g-arcs=(int*)malloc(g-vexnum*sizeof(int*); for(i=0;ivexnum;i+) g-arcsi=(in
3、t*)malloc(g-vexnum*sizeof(int); for(i=0;ivexnum;i+) for(j=0;jvexnum;j+)g-arcsij=0; return g;void ylx_creategraph (ylx_graph *g)int i,j; for(i=0;ivexnum;i+)g-vexsi=i; g-arcs09=1892; g-arcs13=242; g-arcs24=668; g-arcs29=1145; g-arcs35=305; g-arcs46=137; g-arcs411=695; g-arcs56=704; g-arcs57=397; g-arc
4、s612=674; g-arcs89=216; g-arcs910=676; g-arcs1011=511;g-arcs1013=842; g-arcs1112=349;g-arcs1114=534; g-arcs1215=651;g-arcs1316=110; g-arcs1317=967;g-arcs1418=409; g-arcs1519=825;g-arcs1617=639; g-arcs1718=902;g-arcs1721=607; g-arcs1819=367;g-arcs1821=672; g-arcs1823=675;g-arcs1920=622; g-arcs2122=25
5、5;g-arcs2324=140; for(i=0;ivexnum;i+) for(j=i;jvexnum;j+) if(g-arcsij) g-arcsji=g-arcsij;void ylx_printgraph (ylx_graph *g)int x,y; printf(n城市间连通图为:n); for(x=0;xvexnum;x+) for(y=x;yvexnum;y+) if(g-arcsxy)printf(%d,%d)距离:%dt,x,y,g-arcsxy);int ylx_selectnearvex (ylx_markedg *mark,int *flag,int num)int
6、 j; int nearestv; int lowcost=32767; for(j=0;jnum;j+)if(flagj!=1&markj.lowcostlowcost)nearestv=j; lowcost=markj.lowcost;flagnearestv=1; return nearestv;void ylx_markothervex (ylx_graph *g,ylx_markedg *mark,int nearestv,int num,int*flag)int j; for(j=0;jarcsnearestvj0)if(flagj!=1)if(markj.lowcost(mark
7、nearestv.lowcost+g-arcsnearestvj)markj.lowcost= marknearestv.lowcost+g-arcsnearestvj;markj.adjvex=nearestv;void ylx_shortestpath (ylx_graph *g,ylx_markedg *mark,int start)int i,num;int *flag;int nearestv;num=g-vexnum;flag=(int *)malloc(num)*sizeof(int);flagstart=1; for(i=0;ivexnum;i+)marki.adjvex=st
8、art; if( g-arcsstarti0)marki.lowcost=g-arcsstarti; elsemarki.lowcost=32767; for(i=1;ivexnum;i+)nearestv=ylx_selectnearvex (mark,flag,num); ylx_markothervex (g,mark,nearestv,num,flag);void ylx_printshortpath (ylx_graph *g,ylx_markedg *mark,int start)int i,j,k,path25; for(i=0;ivexnum;i+)if(i!=start) p
9、rintf(从%d到%d最短路径为:%d; ,start,i,marki.lowcost); printf(途经:); k=0;pathk=i; j=marki.adjvex; while(j!=start)path+k=j; j=markj.adjvex; printf(%d,start); for(j=k;j=0;j-)printf(,%d,pathj); printf(.n);void main() int city; ylx_graph *g;ylx_markedg *mark; g=ylx_initgraph (); ylx_creategraph (g); printf(城市对应编号:n); printf(0-乌鲁木齐 1-哈尔滨 2-呼和浩特 3-长春 4-北京 n); printf( 5-沈阳 6-天津 7-大连 8-西宁 9-兰州 10-西安 11-郑州n); printf(12-徐州 13-成都 14-武汉 15-上海 16-昆明 17-贵阳 18-株州n); printf(19-南昌 20-福州 21-柳州 22-南宁 23-广州 24-深圳.n); ylx_printgraph (g); mark=(ylx_ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 被动运输课件2026-2027学年高一上学期生物人教版必修1
- 第1课时 认识负数
- 2026年秋季新版冀人版五年级上册科学教学计划
- 食品分析试题及答案解析
- 2026年一建市政实务考前必做冲刺试卷及答案
- 2026年一建市政顶管盾构安全防护专项试题(含答案及解析)
- 2026年一建经济考前仿真测评试卷及答案
- 2026纺织厂电工面试题及答案
- 2026高职常识面试题及答案大全
- 2026关于征兵面试题目及答案
- 智能化装配技术-深度研究
- 工会法培训知识
- 髌骨骨折护理课件
- GB/T 2624.5-2024用安装在圆形截面管道中的差压装置测量满管流体流量第5部分:锥形装置
- 餐馆用工合同
- 警察对学生安全演讲稿模板5篇
- 第2课如何鉴赏美术作品课件高中美术人教版美术鉴赏
- TD/T 1069-2022 国土空间生态保护修复工程验收规范(正式版)
- (高清版)WST 360-2024 流式细胞术检测外周血淋巴细胞亚群指南
- CTT4000用户手册(维护分册)V1.1
- 2024年广东阳江市交通投资集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论