数据结构课程设计报告--Dijkstra算法求最短路径

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学

《数据结构》课程设计

题目第9题Dijkstra算法求最短路径学生姓名XXXX

指导教师XXXX

学院信息科学与工程学院

专业班级XXXXXXX

完成时间XXXXXXX

目录

第一章问题分析与任务定义---------------------------------------------------------------------3课程设计题目-----------------------------------------------------------------------------3

原始数据的输入格式--------------------------------------------------------------------3

实现功能-----------------------------------------------------------------------------------3

测试用例-----------------------------------------------------------------------------------3

问题分析-----------------------------------------------------------------------------------3

第二章数据结构的选择和概要设计------------------------------------------------------------4数据结构的选择--------------------------------------------------------------------------4

概要设计-----------------------------------------------------------------------------------4

第三章详细设计与编码-----------------------------------------------------------------------------6框架的建立---------------------------------------------------------------------------------6

点结构体的定义---------------------------------------------------------------------------7

创立带权值有向图------------------------------------------------------------------------8

邻接矩阵的显示---------------------------------------------------------------------------9

递归函数的应用---------------------------------------------------------------------------10

Dijkstra算法实现最短路径--------------------------------------------------------------10第四章上机调试------------------------------------------------------------------------------------11记录调试过程中错误和问题的处理---------------------------------------------------11算法的时间课空间性能分析------------------------------------------------------------11

算法的设计、调试经验和体会---------------------------------------------------------11第五章测试结果-----------------------------------------------------------------------------------12第六章学习心得体会-----------------------------------------------------------------------------12第七章参考文献-----------------------------------------------------------------------------------12附录------------------------------------------------------------------------------------------------------12

第一章问题分析与任务定义

1、课程设计题目:

题目:采用适当的存储结构实现带权有向图的存储,建立,输入、显示,以及使用Dijkstra算法,寻找和输出带权有向图中某个源点到其余各点的最短路径

要求:采用适当的存储结构实现带权有向图的存储,建立,输入、显示,以及使用Dijkstra算法。

具体任务:建立图的存储模块,建立图的输出模块,在建图后从单源点开始求最短路径,并显示出来。

2.原始数据的输入格式

建图:数字

显示:数字+逗号+数字+回车

字母+回车

3.实现功能

建立有向图

显示存储的有向图

显示从顶点到其他各个顶点的最短路径和是否存在路径

4.测试用例

正确数据:输入顶点;边值信息

输出结果:最短路径是否存在,存在的情况最短路径是多少,其次是不存在。

5.问题分析

实现本程序要解决以下几个问题:

如何存储一个有向图。

如何在界面中输出该有向图。

如何定义起始源点。

如何选择出最短路径。

找到的最短路径如何输出。

第二章数据结构的选择和概要设计

1.数据结构的选择:

在图的结构中,任意两个顶点之间都可能存在关系,比线性表和树要复杂。由于不存在严格的前后顺序,因而不能采用简单的数组来存储图;另一方面,如果采用链表,由于图中各顶点的度数不尽相同,最小度数和最大度数可能相差很大,如果按最大度数的顶点来设计链表的指针域,则会浪费很多存储单元,反之,如果按照各个顶点设计不同的链表结点,则会给操作带来

相关文档
最新文档