《数据结构课程设计》
课程题目 |
《求最佳路径》 |
课程编号 |
j1620102 |
学生姓名 |
纪健欣 |
所在专业 |
信息管理与信息系统 |
所在班级 |
信管1134班 |
任课老师 |
易学明 |
实习时间 |
第16—17周 |
设计成绩 |
|
老师评语 |
|
数据结构课程设计说明书
1.课程设计题目
GDOU是真是一个好地方,校园如一座大花园,美丽而宽广。校园有许多建筑如教学楼、饭堂、宿舍楼、图书馆、体育馆、运动场、商业街、医院等,还有一些著名的风景点。现请根据学校的平面图,找出一些重要的场所,画出学校的平面图(场所可以根据其重要性适当减少),根据实际画出不同点间的路径,并估算每两个场所间的路径长。请设计数据结构并编程,当给出一个出发点和要到达另外一个场所的信息时,请给出最佳路径,并输出路径相关信息。
2.课程设计功能
① 简单地存储学校地图
② 查找出一处建筑到其他所有建筑的最佳路径和最佳路径的长度
③ 查找出两处建筑之间的最佳路径和最佳路径的长度
3.课程设计要求
根据不同建筑之间的路径,估算每两个建筑之间的路径长度。根据已给出的一个出发点,找出到另一建筑或其他点的最佳路径,并输出路径的相关信息
4.需求分析
① 查找一处建筑到其他所有建筑的最佳路径和最佳路径的长度,也就是求一点到其他点的最短路径问题,可以采用迪杰斯特拉算法(Dijkstra's Algorithm)
② 学校地图反映出各个建筑之间的位置距离,可以利用邻接矩阵来存储
5.代码
main.cpp
//main.cpp
#include "GraphList.h"
int main()
{
GraphList graphList;//图
int choice;//存放用户的选择
char element_1, element_2;
int locate_1, locate_2;
int Path[MAX_VERTEX_NUM], Dest[MAX_VERTEX_NUM];
bool DIJFlag = false;//标记是否进行过了DIJ算法
createGraph(graphList);
cout << "************************************************************************"
<< "\n广东海洋大学主要建筑如下:"
<< "\n a.教学主楼, b.商业中心, c.体育馆, d.钟海楼,\n e.图书馆, f.第三饭堂, g.科技楼, h.宿舍\n"
<< "\n"
<< "\n------------------------------------------------------------------------"
<< "\n--广东海洋大学地图如下所示:";
printGraph(graphList);
cout << "\n"
<< "\n------------------------------------------------------------------------"
&l