数据结构课程设计 答辩
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计内容概述
(1)输入的形式和输入值的范围:本系统主要数 据类型为字符型char及整形int,char型主要包括 据类型为字符型char及整形int,char型主要包括 单位编号,单位名称,单位简介,功能编号;输 入功能编号与单位编号进行操作。 (2 ) 输出的形式:输出则通过已有的信息数据, 通过相关的操作输出相应信息。 (3) 程序所能达到的功能:本程序可供任何 人使用,主要功能1.浏览各单位及简介;2.查看 人使用,主要功能1.浏览各单位及简介;2.查看 所有游览路线;3.选择出发点和目的地求出最佳 所有游览路线;3.选择出发点和目的地求出最佳 路径;4.查看某一单位信息。 路径;4.查看某一单位信息。 (4)测试数据:包括正确的输入及其输出结果和 含有错误的输入及其输出结果。
内容涉及范围
该数据结构课程设计为校园导航问题,那 么就一定会涉及到路径问题,那么迪杰斯 特拉算法和弗洛伊德算法是我们所必须会 掌握的。 同样,涉及到这两个算法,那么,设计图 必然也是必不可少的. 必然也是必不可少的. 以下是我设计的我们学校的简略图:
算法的思想
迪杰斯特拉算法: 按路径长度递增次序产生最短路径算法: 把V分成两组: (1)S:已求出最短路径的顶点的集合 (2)V-S=T:尚未确定最短路径的顶点集合 S=T:尚未确定最短路径的顶点集合 将T中顶点按最短路径递增的次序加入到S中, 中顶点按最短路径递增的次序加入到S (1)从源点V0到S中各顶点的最短路径长度都不大于 )从源点V0 V0到 从V0到T中任何顶点的最短路径长度 V0到 (2)每个顶点对应一个距离值 S中顶点:从V0到此顶点的最短路径长度 中顶点:从V0到此顶点的最短路径长度 T中顶点:从V0到此顶点的只包括S中顶点作中间 中顶点:从V0到此顶点的只包括S 顶点的最短路径长度
弗洛伊德算法: (1)利用二维数组A[1..n-1][1..n-1], )利用二维数组A[1..n-1][1..nA[i][j]记录当前vi到vj的最短路径长度,数组A A[i][j]记录当前vi到vj的最短路径长度,数组A的 初值等于图的代权邻接矩阵; 初值等于图的代权邻接矩阵; (2)集合S记录当前允许的中间顶点,初值 )集合S S=Φ; (3)依次向S中加入v0 ,v1… vn-1,每加 )依次向S中加入v0 ,v1… vn入一个顶点,对A[i][j]进行一次修正:设 入一个顶点,对A[i][j]进行一次修正:设 S={v0 ,v1… vk-1},加入vk,则A(k)[i][j] = ,v1… vk-1},加入vk,则A(k)[i][j] min{ A(k-1)[i][j],A(k-1)[i][k]+A(kA(k-1)[i][j],A(k-1)[i][k]+A(k1)[k][j]}。 1)[k][j]}。 A(k)[i][j]的含义:允许中间顶点的序号最 A(k)[i][j]的含义:允许中间顶点的序号最 大为k时从vi到vj的最短路径长度。 大为k时从vi到vj的最短路径长度。 A(n-1)[i][j]就是vi到vj的最短路径长度。 A(n-1)[i][j]就是vi到vj的最短路径长度。
设计总结
做一个系统之前还应该做好全面的安排,对 一个系统的整个流程及功能实现有一个很好的统 筹,写出的程序的功能可拆,找些其他人帮忙思 考,出意见,做系统之前必须找几个人先做对系 统做一次较详细的探讨研究,然后才开始分块写 代码,一个阶段后应互相交流情况,以达到一致。 另在遇到困难时不能解决,应查资料或问其他懂 的同学,参考一下意见,再结合自己的想法,最 后实现自己想实现的功能。
程序流程图
开始 1 浏览景点及简介 查看所有浏览路线
பைடு நூலகம்
2
3
有选择的查看路径 有选择的查看景点
4 5 结束
调试分析
(1):输入1,便会跳出学校各个景点的名称及 ):输入1 一些信息。 (2):输入2,便会让你选择其实景点,然后程 ):输入2 序会自动输出该点所能到的景点并计算其路径。 (3):输入3,便会跳出让你选择起始点和终点, ):输入3 并计算其路径是否存在及长度。如长度为10000, 并计算其路径是否存在及长度。如长度为10000, 则说明路径不存在。 (4):输入4,便会让你选择所想了解的景点。 ):输入4 (5):输入5,便会跳出系统。 ):输入5
数据结构课程设计 之 校园导航问题 校园导航问题
设计要求及问题描述
设计你的学校的平面图,至少包括10个以 设计你的学校的平面图,至少包括10个以 上的场所,每两个场所间可以有不同的路, 且路长也可能不同,找出从任意场所到达 另一场所的最佳路径(最短路径)。 本课题实现校园多个场所(至少10个)的 本课题实现校园多个场所(至少10个)的 最短路径求解。