下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图的最短路径1、 实验目的1. 使学生熟悉最短路径的算法实现2、 掌握带权图的存储结构和处理方法1. 硬件:每个学生需配备计算机一台。操作系统:DOS或Windows2. 软件:DOS或Windows操作系统+Turbo C;3、 实验要求1. 能够独立完成带权图的存储和最短路径的生成4、 实验内容1. 现在假设我国铁路交通图如下(权值表示距离),请用合适的存储结构将下图存储到计算机中方便进行处理。2. 现在我想以最小的代价从徐州出发到达其他目的地,请用Dijkstra算法实现我的要求的路径。#include stdio.h#include malloc.htypedef structint
2、*vexs; int *arcs; int vexnum;graph_hc;typedef structint adjvex; int lowcost;markedg_hc;graph_hc*initgraph_hc()int i,j;graph_hc*g;g=(graph_hc*)malloc(sizeof(graph_hc);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=(int*)malloc
3、(g-vexnum*sizeof(int);for(i=0;ivexnum;i+)for(j=0;jvexnum;j+)g-arcsij=0;return g;void creategraph_hc(graph_hc *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-arcs612=674; g-arcs
4、89=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=255;g-arcs2324=140;for(i=0;
5、ivexnum;i+) for(j=i;jvexnum;j+) if(g-arcsij)g-arcsji=g-arcsij;void printgraph_hc(graph_hc*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 selectnearvex_hc(markedg_hc*mark,int *flag,int num)int j;int nearestv;int lowcost=32767;for(j
6、=0;jnum;j+)if(flagj!=1&markj.lowcostlowcost)nearestv=j;lowcost=markj.lowcost;flagnearestv=1;return nearestv;void markothervex_hc(graph_hc*g,markedg_hc*mark,int nearestv,int num,int*flag)int j;for(j=0;jarcsnearestvj0)if(flagj!=1)if(markj.lowcost(marknearestv.lowcost+g-arcsnearestvj)markj.lowcost= mar
7、knearestv.lowcost+g-arcsnearestvj;markj.adjvex=nearestv;void shortestpath_hc(graph_hc*g,markedg_hc*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=start;if( g-arcsstarti0)marki.lowcost=g-arcsstarti;elsemarki
8、.lowcost=32767;for(i=1;ivexnum;i+)nearestv=selectnearvex_hc(mark,flag,num);markothervex_hc(g,mark,nearestv,num,flag);void printshortpath_hc(graph_hc*g,markedg_hc*mark,int start)int i,j,k,path25;for(i=0;ivexnum;i+)if(i!=start)printf(从%d到%d最短路径为:%d; ,start,i,marki.lowcost);printf(途经:);k=0;pathk=i;j=ma
9、rki.adjvex;while(j!=start)path+k=j;j=markj.adjvex;printf(%d,start);for(j=k;j=0;j-)printf(,%d,pathj);printf(.n);main()int city;graph_hc*g;markedg_hc*mark;g=initgraph_hc();creategraph_hc(g);printf(城市名称/代号:);printf(乌鲁木齐/0, 哈尔滨/1, 呼和浩特/2, 长春/3, 北京/4, );printf(沈阳/5, 天津/6, 大连/7, 西宁/8, 兰州/9, 西安/10, 郑州/11, );printf(徐州/12, 成都/13, 武汉/14, 上海/15, 昆明/16, 贵阳/17, 株州/18,);printf(南昌/19, 福州/20, 柳州/21, 南宁/22, 广州/23, 深圳/24.n);printgraph_hc(g);mark=(marked
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 48284-2026航空航天直线式液压作动筒通用规范
- T/ZLJ 007-2023冷冻蜗牛肉
- T/JMBX 0286-2024江门优品 马冈鹅制品
- T/CNCA 121-2025露天煤矿三维地质建模技术要求
- T/CAWAORG 002-2021中国疼痛科专业团体标准
- T/CSMT-DZ 007-2025 T/HZLED 001-2025室外 Mini/Micro LED显示屏通用技术要求
- GB/T 34630.4-2026搅拌摩擦焊铝及铝合金第4部分:焊接工艺规程及评定
- 2025~2026学年广东省深圳市福田区北师大版六年级上册12月课堂素养练习数学试卷【附答案】
- 2026学年江苏省盐城市四年级语文期末高分快速提分卷(详细参考解析)详细答案和解析
- AI大模型棋牌游戏技巧与攻略
- 2026年模具研发高级技术专家招聘笔试试卷 招录11人考试题库
- 2026年发展对象培训结业测试及答案解析
- 2026年新版预防未成年人犯罪法知识竞赛题库及参考答案
- 2026“弘扬长征精神 奋进新征程”知识竞赛题库(含答案解析)
- 2026年10月自考00323西方行政学说史模拟题及答案详解
- 2026年云南云上云大数据产业发展有限公司及下属子公司第一次社会招聘(32人)笔试模拟试题及答案详解
- 2026粒径分析考试题及答案
- 2026中国新能源电池技术研发行业市场现状趋势分析投资策略规划报告
- 2026秋沪教牛津版五年级上英语单词默写(默写)
- 医疗器械质量保证控制程序
- 2026年全国注册会计师(CPA)考试会计真题及答案(持续更新)
评论
0/150
提交评论