数据结构实训报告
更新时间:2024-06-03 06:51:01 阅读量: 综合文库 文档下载
实训报告
实训题目:校园导游程序
学 院:计算机科学与技术学院 专 业: 软件工程 班 级: 2012级 学 号: 1208060220 学生姓名: 熊齐超 指导教师: 张丽
2014年 7 月 10日
一、实训目的及要求
数据结构是计算机课程的一门重要的基础课,它的教学要求大致有三个重要方面:其一就是让学生学会分析研究计算机加工的数据对象的特性,以便为数据选择适当的物理结构和逻辑结构;其二,根据结构,选择适当的算法,并初步掌握算法的时间分析和空间分析;其三,学习复杂的程序设计。本综合实训利用Visual Studio 2008 集成编程环境为实践工具,通过上机实践培养学生分析具体问题、解决实际问题的能力,训练和培养学生的数据抽象能力和程序设计的能力。
数据结构是一门实践性较强的课程,以培养学生的数据抽象能力和程序设计的能力为目的。在实训时应注重培养学生的实际操作能力。本综合实训安排了18学时的实验课时,具体要求如下:
1. 学习和理解每个实训题目的基本理论和方法; 2. 掌握每个实验的实现步骤和关键技术; 3. 准备好实验所需要的资源和文档;
4. 上机实现程序,得到通过调试的正确程序;
5. 根据每个实验的不同要求,完成实验报告的word文档。
二、实训环境 Windows XP
Visual Studio 2010
三、实训内容 1)问题描述
用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。 2)基本要求
(1) 查询各景点的相关信息;
(2) 查询图中任意两个景点间的最短路径。
(3) 能够将图的信息保存到文件中,并指定文件打开。
(4) 增加、删除、更新有关景点和道路的信息。
附加难度:有余力的同学可以考虑用图形界面实现寻址的过程 3) 设计思想
核心数据结构定义一个图,将图保存后,对图进行面向指定节点到各个节点的最短路径的操作。可以再文件中保存多个导游图,例如保存学校图、芜湖市图等文件。开始时选择文件,将指定文件中的信息导入到内存的图中。
四、算法描述及实训步骤
本项目要实现七个主要功能:学校景点介绍、查看浏览路线、查询景点间最短路径、景点信息查询、更改图信息、查询景点间可行路径、打印邻接矩阵。 附加一些其他功能
贵州大学校园导游系统: 开始 输入正确 判断 查询最短路径 景点信息 更改图信息 学校景点介绍 查看浏览路线 结束
查询可行路径 打印邻接退出系统
五、总结及心得体会
每一次课程设计,都有不一样的感受,通过课程设计,对我而言,得到的不仅仅是知识,更是获得知识的方法,这显得更加的重要。
本次课程设计,我的设计题目是校园导游程序,本程序主要用到的是课本中图的知识,以校园中的景点作为顶点,以景点间的路径作为边,就构成了图。我用到的时临界表存储结构,这样对空间的浪费不至于很大。主要完成的功能是最短路径和所有路径的算法,最短路径用的是书上的Dijkstra算法,原来我对这个算法的只是出于一个对大致的过程知道的程度,课程设计之后,我对该算法可以说是很熟悉了,不管是算法思想还是代码。另一个主要功能是求两个景点间的所有路径,这个算法书上没有提到,我一步步的摸索,用了一个递归的思想,再经过不断的修改,一次次的单步运行,通过查看相应变量的变化情况,将此算法实现的。最后完成整个程序。
课程设计,本人感觉对于写程序,首先要要的是思想,即完成每个功能需要的算法思想,在想好思想后,就要具体到代码,计算机能够识别的代码,代码写好后,大多情况下是有错误的,首先要排除语法错误,然后时语义错误,在排错的过程中,我用到的最多的是单步运行,感觉单步运行这种方式很管用,通过一步步的运行,通过每一步的运行,观察其中变量的变化情况,可以很容易的知道代码是哪一步出了错误,这样对排错有很大的帮助。
在课程设计的过程中,曾遇到过很多的问题,如对路径字符串的处理,整个递归一步步的往下调用和返回过程,还有很多细节的问题。在遇到问题时,首先想到的是自己思考,分析过程,查找资料,上网百度,通过自己的努力还没有解决时,这是首先需要问的是自己旁边的同学,和同学讨论,有时还争得面红耳赤,如果最后将此不下,就向老师提问。这课程设计的过程中,我几乎所有的问题处理流程就是这个样子的。我感觉这就是一种学习的方法,在学习中遇到难题时的学习方法,要把这种学习的方法变成一种习惯,这才是每次课程设计应达到的一种效果。
课程设计提供了这样一种学习的机会,可以随时随地向老师请教,和老师交流的一个机会,和同学互相讨论的机会。课程设计教会了我,如何用计算机程序来处理现实中的实际问题。将现实中的实际问题先转化为数学模型,然后将数学模型用程序解决的一种能力。
六、实训结果
(1)主界面
(2)学校景点介绍
(3)查看浏览路线
// (15) 查询景点的信息
void seeabout(mgraph c) { int k; printf(\请输入要查询的景点编号:\ scanf(\ while(k<0||k>c.vexnum) { printf(\你所输入的景点编号不存在!\ printf(\请重新输入:\ scanf(\ } printf(\编号:%-4d\\n\ printf(\景点名称:%-10s\\n\ printf(\介绍:%-80s\\n\\n\
}//seeabout
// (16) 显示所有景点信息
void browsecompus(mgraph c) { int i; printf(\编号 景点名称 简介\\n\ printf(\________________________________\\n\ for(i=0;i }//browsecompus // (17) 主要工作函数。操作区用户界面 void mainwork() { int yourchoice; campus=initgraph(); printf(\欢迎使用校园导游程序-----------------------------\\n\ printf(\ 欢迎来到贵州大学北区 ! \\n\\n\ printf(\ 菜 单 选 择 \\n\\n\ printf(\ 1. 学校景点介绍 2. 查看游览路线 \\n\ printf(\ 3. 查询景点间最短路径 4. 景点信息查询 \\n\ printf(\ 5. 更改图信息 6. 查询景点间可行路径 \\n\ printf(\ 7. 打印邻接矩阵 8. 退出 \\n\ printf(\ printf(\请输入你的选择:\ scanf(\ while(!(yourchoice==1||yourchoice==2||yourchoice==3||yourchoice==4||yourchoice==5||yourchoice==6 ||yourchoice==7||yourchoice==8)) { printf(\输入选择不明确,请重输\\n\ scanf(\ } while(1) { switch(yourchoice) { case 1: system(\ break; case 2: system(\break; case 3: system(\break; case 4: system(\ break; case 5: system(\ break; case 6: system(\ allpath(campus); break; case 7: system(\ printmatrix(campus); break; case 8: system(\exit(0); break; default: break; } printf(\欢迎使用校园导游程序-----------------------------\\n\ printf(\ 欢迎来到贵州大学北区! \\n\\n\ printf(\ 菜 单 选 择 \\n\\n\ printf(\ 1. 学校景点介绍 2. 查看游览路线 \\n\ printf(\ 3. 查询景点间最短路径 4. 景点信息查询 \\n\ printf(\ 5. 更改图信息 6. 查询景点间可行路径 \\n\ printf(\ 7. 打印邻接矩阵 8. 退出 \\n\ printf(\ printf(\请输入你的选择:\ scanf(\ }//endwhile(1) }//mainwork // (18) 主函数。设定界面的颜色大小,调用工作区模块函数 void main() { system(\屏幕颜色设定 system(\ mainwork(); }
正在阅读:
数据结构实训报告06-03
陈太丘与友期教案05-18
CMS模板置标使用手册 - 图文10-17
2013届大学生心理健康教育考试答案、、11-20
施工组织设计(文物保护,风险预测)06-15
三年级英语下册 Unit 3 How Do You Come to School单元测试卷 陕旅版09-05
教学风格研究的主要内容12-30
嘉兴市2018年9月普通高校招生选考科目教学测试生物试题卷03-18
06年煤炭职业经理人名单10-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数据结构
- 报告