ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:230.50KB ,
资源ID:15399042      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15399042.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计报告Word文档格式.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计报告Word文档格式.docx

1、摘 要数据结构主要是一门研究非数值计算的程序设计问题中的计算机操作对象以及它们之间的关系和操作等的学科。数据结构在计算机科学与技术中是一门综合性的专业基础课,其研究不仅涉及到计算机硬件的研究范围,而且和计算机软件的研究有着更密切的关系。不论是编译程序过程还是操作系统都涉及到数据元素在存储器中的分配问题。在计算机科学与技术中,数据结构不仅是一般程序性的基础,而且也是其他系统程序和大型程序的重要基础。在交通网络非常发达,交通工具和交通方式不断更新的今天,人们在出差、旅游或做其它出行时,不仅关心节省费用,而且对里程和所需时间等问题也感兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统

2、,利用计算机建立一个交通咨询系统。图中顶点表示站点之间的交通关系。这个交通系统可以回答旅客提出的各种问题。比如任意一个站点到其他站点的最短路径,任意两个站点之间的最短路径问题。本次设计的交通咨询系统主要是运用C语言来完成交通图的存储、图中顶点的最短路径和任意一对顶点间的最短路径问题。关键字:数据结构 课程设计 交通咨询系统目 录前言 1第一章 设计要求 21.1设计内容 21.2设计目的 31.3设计分析 4第二章系统功能模块的设计 52.1 系统功能分析与设计 5 2.1.1系统简介.52.1.2 系统流程图.52.2 各功能模块简介 62.2.1结构体的建立 62.2.2 图的建立与初始化

3、 62.2.3 邻接矩阵的输出 8 2.2.4 显示函数.8 2.2.5 最短路径算法.9 2.2.6主函数.10第三章 实践结果与调试.123.1运行结果.123.1.1主界面.12 3.1.2查询站点编号模块.12 3.1.3邻接矩阵查询模块.12 3.1.4最短路径查询模块.133.2运行调试及发现问题.15 3.2.1调试过程.15 3.2.2发现问题.15第四章设计总结与心得.16附录:程序源代码 .18前 言乘汽车旅行的人总希望找出到目的地的尽可能短的行程。如果有一张地图并在图上标出每对十字路口之间的距离,如何找出这一最短行程?计算机网络中的路由就是通过互联的网络把信息从源地址传输

4、到目的地址的活动。为了高效引导数据的传输,如何找出源和目的地址之间的最优路径?这些问题中的网络(交通网,计算机通信网)可以使用一个带权图来建模,寻找最优路的需求可转换为带权图的最短路径问题。最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和边组成的)中两结点之间的最短路径。问题具体的形式包括:确定起点的最短路径问题,即已知起始结点,求最短路径的问题。适合使用Dijkstra算法。确定终点的最短路径问题,与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。确定起点终点的最

5、短路径问题,即已知起点和终点,求两结点之间的最短路径。全局最短路径问题,求图中所有的最短路径。适合使用Floyd-Warshall算法。第一章 设计要求1.1 设计内容一问题描述:已知某市每条公共路线及沿途所经站名,试设计一个问路程序,用户可以在任一车站通过终端询问知道:是否有公共汽车到达指定的目的地? 若有,告诉乘车路线。如需中途换车,应指示再那里换车 二基本要求:(1)自己提出一个公共汽车路线图,可以在网上搜索现实城市公交路线图(如长沙市的),至少要有7条公交线路,每条线路至少要有7个公共汽车站。(2)数据结构:将公共汽车路线图看成是一个有向图,选择合适的数据结构,除了反映顶点(站)之间的

6、邻接关系外,还应反映途经的路线号。注意,两站之间可能存在往返两个方向,每个方向又可能对应多个路线号。(3)算法:按选定的数据结构设计相应的算法。注意,当从乘车站到目的站存在多种乘车路线时,必须确定路线选取标准。例如,要求换车次数最少等。数据结构可以采用链接结构:structNODEchar* stname;struct NODE* link;struct NODE hdtpMAX+1;数据结构也可以采用顺序结构:struct NODEint go,back;struct NODE amax+1,max+1;其中,aI,j.go0 表示第i条线路上,向站j 去方向的下一站号;ai,j.back0

7、表示第i条线路上,站j回来的下一站号。若站j不在第i条线路上,ai,j.go 和ai,j.back 均为0。(4)另外,还需建立两个数组;一个是线路序号和线路号“值”的对照表;另一个是站号和站名对照表。(5)对所采用的算法进行算法分析 三. 实现提示假定顶点编号为1.n,数据结构采用连接结构。设置表头数组为head1.n,headi包含站i的名字和一指针,该指针指向i的所有邻接顶点组成的单链表。单链表中的每个结点包含3个域:一个站号域,两个指针域。一个指针指向i的下一个邻接顶点,另一个指针指向从i到该结点的所有线路号组成的链表。struct LINENODEint lineno;struct

8、LINENODE* next;struct STNODEint stno;struct LINENODE* Link1,*Link2;如果按途经站数最少的原则来确定乘车路线,实际上是最短路径问题,则可以采用Djkstra算法或图的宽度优先搜索算法。在保证站数最少的前提下,如果存在多种乘车路线,则可以进一步挑选换车次数最少的路线。1.2 设计目的一.设计思想:用邻接矩阵来存储交通网络图的信息,运用迪杰斯特拉算法实现图上单源最短路径问题,然后运用费洛伊德算法实现图中任意一对顶点间最短路径问题,这样就会实现旅客所要咨询的问题。二.设计要求:该交通咨询系统要完成城市网络图的存储,并要实现求任意一个顶点

9、到其他顶点的最短路径问题,还要实现任意两个车站顶点间的最短路径问题。故设计要分成三部分,一是建立交通网络图的存储结构;二是解决路径问题;最后再实现两个车站之间的最短路径问题。三.设计目的:通过课程设计我们不仅可以巩固已学到的书本知识,还可以从亲自动手设计这项课程设计的过程中发现问题,并学会用自己所学的知识解决问题。这不仅使我们能学会很多书本中学不到的知识、经验,还能提高我们自己的动手能力,同时开发自身的创新思想,拓展思维。1.3 设计分析一通过对题目的分析知,是要让我们能够通过利用所学的数据结构的基本知识和技能来解决程序设计问,因此在搞程序设计之前先好好的把书复习一遍,弄清楚各个知识之间的联系。二根据这些功能和基本要求,可充分运用我们所学的数据结构的基本知识和技能去逐步的解决。其中将函数进行模块化。在数据结构中,通过队列,栈,图的声明来实现系统的各种功能的存储各站点之间乘车的时间,距离,以及最少的中转站。利用结点来实现站点之间各种操作,而这些知识点都是我们学习数据结构必须掌握和学会运用的。三完成程序功能的设置后,应对程序进行调试,以便在调试中能及时地找出错误并加以更正,这样能使程序功能进一步的完善和正确。这就要求我们在编程和调

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1