- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE #
《数据结构》实验报告
◎实验题冃:图的结构建立和最短路径算法
问题描述:利用邻接矩阵构造图,并求出某一顶点到其余顶点的最短路径并打印输 出。
◎实验冃的:使用邻接矩阵构造图,并实现顶点到顶点之间最短路径的计算。◎实 验内容:写出程序并上机调试、通过。
一、需求分析
=11、演示程序以用户和计算机的对话方式执行,当计算机终端显示“输入顶点的个数 和(边)弧的个数”时输入图中的所包含的定点个数和弧的个数。
=1
(本程序实现的是有向图的构造,在输入时注意:如果该图是无向图,贝嚅要 对同一个边输入两次。比如顶点1和顶点2之间的权值是3,则在输入时需要输 两次) 当计算机终端显示“顶点值时输入各个顶点的值(顶点值就是各个顶点的表示 用到的数值)。
当计算机终端显示“输入第1条(边)弧相对的两个顶点值:”时输入第一条边 对应的顶点的值。
:蔔当计算机终端显示“输入它们的权值:”时输入对应两条边之间的权值。然后依次 输入所有的边和对应的权值。
:蔔
当所有的值输入后会显示生成的邻接矩阵以及矩阵各顶点之间的最短距离。
3、程序的执行包括:
(1)构造顶点关系和图的顶点和边的存储结构;(2)初始图的结构;(3)向图 中插入元素;(4)查找某元素在图顶点中的位置;(5)创建邻接表;(6)寻找 寻找最短路径;(7)输出;
4、 本实验实现在图中找到两个顶点之间的最短路径。
5、 输入及输出示例:
CD:墩摇结构读验血曲11名\第五初.ME” 标入顶点的个数和(边)弧的个数:?
L ”D:\数据結村、实验\Debug\笫五次
蜀入顶点的个数和(边)弧的个数;5 16 顶点值:
“D:顔据结祠实验W昂ug\笫五袄
齡|点的个数和(边)弧的个数:S 16
1 2 3 4 5
输入第1条(边)瓠相对的两个顶点值: 如久它们的权值:.
? C:\Users\Ad mi nistratorXDesktopDebug宴五次
输厶顶点的个数和(边)瓠的个规5 16 顶点值,
1 2 3 4 5
柄入第1条(边)弧相对的两个顶点值: 偷入它们的权值s 3.
“D:做据结构宴验计血昌第石次.叱“ 頁入第12条(边)弧相对的两个顶点值: 私它们的权值:6
叔第13条(边)弧相对的两个顶点值:
42
瑜入它们的权值:4
叔第14条(边)弧相对的两个顶点值:
43
瑜入它们的权值:2
£入第15条〔边)弧相对的两个顶点值: 私它们的权值:11
询入第16条(边)弧相对的两个顶点值:
「入它们的权值:10
卩接矩阵为:
PAGE
PAGE #
PAGE
PAGE #
环“D:做据结构\AAU)ebug\5五次.ME”
043 5 7为为为为路略格路为为为为路路路路为为的路E.MB 6 4 二■ 成为为为 註打肉络照%5 6 2 1为为为为.?.?.??的拘的的
0
4
3 5 7
为为为为
路略格路
为为为为
路路路路
为为
的路
E
.MB 6 4 二■ 成为为为 註打肉络照%
5 6 2 1为为为为.?.?.??
的拘的的
0 7 4 2 1 为 字络字络 S??? 的的的的
到剑到剑
4 4 4 4
4 一2。
二二为为为为咯路恪恪???.J???的的的的
至至至至
二概要设计
基本操作
^ void lnitGraph(MGraph *G)
操作结果:初始图。
、void lnsertGraph(MGraph *G,int i,VertexType e) 初始条件:图G存在。
操作结果:将e插入到图中的第i个位置。
、int Locate(MGraph G,VertexType v1)
初始条件:图G存在。
操作结果:找到V1在图中的位置。
、void CreateUND(MGraph *G)
操作结果:用邻接矩阵和邻接表表示图
、void ShortestPath(MGraph G,int vOJnt **p,int *D)操作结果:寻找图 G 中 顶点之间的最短路径
、void Pint(MGraph G)操作结果:输出邻接矩阵。
三详细设计
1、每个模块:
(1)初始图
void Ini tGraph(MGraph *G)
/*初始图*/
(int i,n u,mu;
prin tf(”\n 输入顶点的个数和(边)弧的个数:”);
scan f(,%d%d,,n u,mu);
G-arcs=(ArcCell **)malloc(nu*sizeof(ArcCell *)); for(i=0;i n u;i++)
/*分配邻接矩阵空间*/
G-arcs[i]=(ArcCell *)malloc(nu*sizeof(ArcCell)); G-vexs=(VertexType *)mallo
您可能关注的文档
最近下载
- 留守儿童学前教育毕业论文.docx VIP
- 热处理炉温均匀性测试标准SAE AMS2750F Rev.F 2020 英文版+中文版.pdf VIP
- 输入11到20带圈字符.doc VIP
- 固体比热容的测量.doc VIP
- 翻车机值班员岗位职责共3篇翻车机操作工岗位职责.docx VIP
- 【新教材】人教版(2024)八年级上册英语Unit 6 Plan for Yourself教案(表格式).docx
- 植筋、界面处理检验批质量验收记录表.doc VIP
- 实用营养与保健知到课后答案智慧树章节测试答案2025年春浙江大学.docx VIP
- 泌尿系结石PPT课件PPT课件.ppt
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
文档评论(0)