- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
實验六公交线路查询系统的设计与实现
实验六 公交线路查询系统的设计与实现
一、实验目的
开发一个信息更新及时、界面友好、查询优化的公交查询系统,在开发系统的过程中使学生能对以下知识进行巩固和扩充:
1.数据库理论知识;应用数据库理论对具体问题具体分析,设计出合理的数据库结构。
2.数据结构理论知识;根据具体问题提出合理的数据结构,并使用相应处理方法,理解图和和图相关的搜索算法。
3.算法设计与分析理论知识;对于不同的查询优化算法进行分析,选用合适的算法。
4.程序设计理论知识;系统的最终实现需要编程环境,不同程序语言的选用可以更好的理解程序设计的相关知识。
二、实验内容
1、数据结构设计
公交线路可表示成有向图的形式:G=(V,E,R )。其中:V为所有站点的集合;E为所有公交路段(边)的集合;R为有向线路的集合。路径定义为: ,表示从站点v0乘线路rl至站点vl,再从站点1,l换乘线路r2至站点 ,?,最后,从站点Vk-1换乘线路至站点vk 。
公交线路作为稀疏有向图,选用邻接表作为存储方式,其关系可转化成二维表,见linestops表的设计;线路和乘车路经选用线形表作为存储方式(一维数组)。
2、数据库结构设计;
表8-1公交线路表(line)
字段中文名 字段英文名 字段类型 字段长度 容许空 路线编号 line_id int 4 路线名称 line_name varchar 50 √ 始发车 fristbus varchar 50 √ 末班车 lastbus varchar 50 √ 站点1 station1 varchar 50 √ 站点2 station2 varchar 50 √ 站点3 station3 varchar 50 √ …… …… varchar 50 √ …… …… varchar 50 √ …… …… varchar 50 √ 站点45 station45 varchar 50 √
表8-2站点表(stop)
字段中文名 英文字段名 字段类型 长度 容许空 站点编号 stop_id int 4 站点名称 stop_name varchar 50 √
表8-3路线站点表(linestops)
字段中文名 英文字段名 字段类型 长度 容许空 路线编号 line_id int 4 √ 站点编号 stop_id int 4 √ 标记 ord int 4 √
3、算法设计 ;
基于换乘次数最少的查询算法
第一步:以起始点start的后续线路和终点end的前续线路分别作交,如交非空,且始点start和终点end包含在交集合里,则始点start和终点end有直达的线路,输出线路信息。
第二步:第一步的交集非空,始点start和终点end不包含在交集合里,始点start和终点end没有有直达的线路,但可以通过一次中转到达,中转站为交集中的元素,输出中转一次线路信息。
第三步:第一步的交集为空,则始点和终点需一次以上转乘。用不经过始点start和终点end的各条公交线路与始点start的所有后继线路作交.取交为非空的线路的站点s ,用S的后续线路与终点end的前续线路取交.若交集L不空(存在t属于此交集),始点start和终点end至少需换两次车,且换车的两个站点先后分别为s和t。输出中转路线。
第四步:若第三步的交集L为空,则需则始点和终点需二次以上转乘,思想同第三步。直至中转点与终点end的前续线路的交非空。,
4、系统实现
本系统可选择集成软件开发平台(Delphi)及数据库管理系统软件(SQL Server)实现。拟完成以下功能:(1)公交线路的数据输入与维护模块:公交路线录入、修改、存储功能。(2)公交线路的查询模块:公交线路查询、时间查询、站名查询功能。(3)基于最小转乘次数的乘车方案查询模块:
三、实验器材
1、PC机(已安装Delphi7.0和SQL Server2000) 1台
四、实验原理
1、公交线路网络特点:
道路网络一般是以交叉口为结点,各路段为弧段。对于公交网络,同一条路段上可以由很多公交线路,并且,每条线路都有固定的行车线路和发出频率,乘客只能在具有相同站点的线路间换乘。因此,相对道路网络来说,公交网络更为复杂。其主要特点为:
1)连通性:城市道路网络的连通性和公交网络的连通性含义不同。在道路网络中,道路交叉点连接着与该交叉口相连的多条路段,车辆在交叉点可以从一条路段进入另一条路段。在公交网络中,若几条不同公交线路经过空间上的同一站点,如果在该站点能够换车,则这几条公交线路是连通的,而且,换车存在换乘消耗,包括时间消耗、费用消耗等。另外多条公交线路虽然在空间上的同一点相交,但是该点不一定是公交站点,或不是同时有站点,此时,不同公交线路是不
文档评论(0)