下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上专心-专注-专业一、实验目的1.使学生熟悉最短路径算法实现。2.掌握带权图的存储结构和处理方法。二、实验环境 1.硬件:每个学生需配备计算机一台。操作系统:DOS或Windows; 2.软件:DOS或Windows操作系统+Turbo c;三、实验要求 1.能够独立完成带权图的存储和最短路径的生成。四、实验内容 1.现在假设我国铁路交通图如下(权值表示距离),请用合适的存储结构将下图存储到计算机中方便进行处理。 2.现在我想以最小的代价从徐州出发到达其他目的地,请用Dijkstra算法实现我的要求的路径。五、代码如下#include <stdio.h>#i
2、nclude <malloc.h>typedef structint *vexs; int *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
3、=(int*)malloc(g->vexnum*sizeof(int*); for(i=0;i<g->vexnum;i+) g->arcsi=(int*)malloc(g->vexnum*sizeof(int); for(i=0;i<g->vexnum;i+) for(j=0;j<g->vexnum;j+)g->arcsij=0; return g;void ylx_creategraph (ylx_graph *g)int i,j; for(i=0;i<g->vexnum;i+)g->vexsi=i; g->
4、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->arcs612=674; g->arcs89=216; g->arcs910=676; g->arcs1011=511;g->arcs1013=842; g->arcs1112=349;g->arcs1114=534; g->a
5、rcs1215=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=255;g->arcs2324=140; for(i=0;i<g->vexnum;i+) for(
6、j=i;j<g->vexnum;j+) if(g->arcsij) g->arcsji=g->arcsij;void ylx_printgraph (ylx_graph *g)int x,y; printf("n城市间连通图为:n"); for(x=0;x<g->vexnum;x+) for(y=x;y<g->vexnum;y+) if(g->arcsxy)printf("(%d,%d)距离:%dt",x,y,g->arcsxy);int ylx_selectnearvex (ylx_ma
7、rkedg *mark,int *flag,int num)int j; int nearestv; int lowcost=32767; for(j=0;j<num;j+)if(flagj!=1&&markj.lowcost<lowcost)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
8、;j<num;j+)if(g->arcsnearestvj>0)if(flagj!=1)if(markj.lowcost>(marknearestv.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->
9、vexnum;flag=(int *)malloc(num)*sizeof(int);flagstart=1; for(i=0;i<g->vexnum;i+)marki.adjvex=start; if( g->arcsstarti>0)marki.lowcost=g->arcsstarti; elsemarki.lowcost=32767; for(i=1;i<g->vexnum;i+)nearestv=ylx_selectnearvex (mark,flag,num); ylx_markothervex (g,mark,nearestv,num,f
10、lag);void ylx_printshortpath (ylx_graph *g,ylx_markedg *mark,int start)int i,j,k,path25; for(i=0;i<g->vexnum;i+)if(i!=start) printf("从%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("%
11、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_mark
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年保险职业学院单招职业适应性考试必刷测试卷带答案解析
- 2026年四川职业技术学院单招职业适应性测试必刷测试卷及答案解析(名师系列)
- 2026年三亚市单招职业倾向性测试必刷测试卷附答案解析
- 2026年宁夏石嘴山市单招职业适应性考试题库及答案解析(名师系列)
- 2026年上海师范大学天华学院单招职业技能测试必刷测试卷及答案解析(名师系列)
- 2026年保定电力职业技术学院单招职业倾向性考试题库带答案解析
- 2026年太湖创意职业技术学院单招职业倾向性考试题库附答案解析
- 2026年张家口职业技术学院单招职业倾向性考试题库及答案解析(名师系列)
- 2026年松原职业技术学院单招职业技能测试必刷测试卷及答案解析(夺冠系列)
- 2026年南阳职业学院单招职业技能考试题库带答案解析
- 医院聘请专家协议书
- 2025国家电网公司(第二批)招聘北京电力医院易考易错模拟试题(共500题)试卷后附参考答案
- 用地变更居间合同范本
- 工程交接验收流程与注意事项
- 2025年1月辽宁省普通高中学业水平合格性考试数学试题+答案
- 出售公司合同协议书
- 卫生间改造施工组织方案
- 城市轨道交通票务管理 城市轨道交通票务系统概述 课件演示模板
- 2025年云南交投集团下属公路建设公司生产人员招聘(8人)笔试考试参考题库及答案解析
- 浓密机培训课件
- 少数民族之乡云南课件
评论
0/150
提交评论