数据结构课程设计报告含代码完整版

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

数据结构课程设计报告

含代码

HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

西安邮电学院

数据结构课程设计报告题目:校园导航系统

院系名称:计算机学院

专业名称:计算机科学与技术

班级:

学生姓名:

学号(8位):

指导教师:

设计起止时间:2011年12月11日~2011年12月15日

一. 设计目的

1.通过本次课程设计巩固《数据结构》中所学的内容;

2.提高自己上机编程以及调试能力。

二. 设计内容

1.设计所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

2.为来访客人提供图中任意景点相关信息的查询。

3.为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

三.概要设计

1.功能模块图;

2.各个模块详细的功能描述。

1. 可以手动创建一个校园图。

2. 可以直接从文件读取校园各个景点的信息。

3. 可选择从任意个景点作为起点进行遍历。

4. 输入景点序号查询该景点相关信息。

5. 输入两个景点查询两个景点的最短,最佳及其所有的路径。

6. 将校园图信息保存入文件。

四.详细设计

1.功能函数的调用关系图

2.各功能函数的数据流程图

1. Adjmatrix *g即结构体对象在main()中被创建在其他子函数中进行参数传递。

2. 全局变量visited数组

中用。

3. 全局变量shorest[][],path[][]

在floyd()中被赋值来分别记录v[i]-v[j]最短路径和 v[i]-v[j]所经过景点。

3.重点设计及编码

两景点最短距离弗洛伊德算法

void floyd(adjmatrix *g)

{

int i,j,k;

for(i=0;ivexnum;i++)

for(j=0;jvexnum;j++)

shortest[i][j]=0;

for(i=0;ivexnum;i++)

for(j=0;jvexnum;j++)

{

shortest[i][j]=g->arcs[i][j].adj;

path[i][j]=0;

}

for(i=0;ivexnum;i++)

for(j=0;jvexnum;j++)

for(k=0;kvexnum;k++)

if(shortest[i][j]>(shortest[i][k]+shortest[k][j]))

{

shortest[i][j]=shortest[i][k]+shortest[k][j];

path[i][j]=k;

path[j][i]=k;

}

}

五.测试数据及运行结果

1.正常测试数据和运行结果

要求提供3组正常测试数据和运行结果

2(遍历功能)

1(起始景点序号)

1 校门呈长方形,校训:爱国、求实、奋进

2 喷泉呈鸽子形状,喷射出水花

3 教学楼传授知识和学习知识

4 实验楼供学生进行课程实验和教师办公

5 洗浴中心供学生洗澡,内设单人间和双人间

6 美食广场仅一层,快餐味道不错

7 图书馆共七层,存储大量书籍供学生查阅和学习

8 旭日苑共三层,主要的就餐场所

9 体育馆内设篮球场,羽毛球场和观看席

10 宿舍休息的场所

5(查询景点信息)

2(景点序号)

2 喷泉呈鸽子形状,喷射出水花

6(查询两景点最短路径)

1 9(两景点序号)

1->2->7->9

1->9 最短距离:570米

2.异常测试数据及运行结果

要求提供2组异常测试数据和运行结果

9

无此功能模块请重新输入

5(功能模块)

11(景点序号)

无此景点请重新输入

六.调试情况,设计技巧及体会

1.改进方案

1. 可将景点文件,边文件及账户密码合并为一个文件。

2. 可设管理员,是管理员才能进行创建和修改,而客户只能进行查询。

3. 可选用更好的算法,提升查询路径的速度。

2.体会

回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

七.参考文献

《数据结构》杨剑主编清华大学出版社

《数据结构(C语言版)》 .严蔚敏_吴伟民.主编清华大学出版社

八.附录:

源代码(电子版)

#include<>

#include<>

#include<>

#include<>

#define maxsize 40 ...\n\n", user1);

}

}

void Browser()

{

system ("color 0F");

printf(" 西安邮电学院平面图图 ");

printf("\n");

printf(" 正门 ");

printf("\n");

printf(" 校正门┃2.喷泉┃\n");

printf("\t\t┣━━━━━━━━━━━━╋━━━━━━━━━━━━┫\n");

printf("\t\t┃3.教学楼┃4.实验楼

┃\n");

printf("\t\t┣━━━━━━━━━━━━╋━━━━━━━━━━━━┫\n");

printf("\t\t┃5.洗浴中心┃6.美食广场

┃\n");

printf("\t\t┣━━━━━━━━━━━━╋━━━━━━━━━━━━┫\n");

相关文档
最新文档