- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告源码
西安郵電 目: 校园导游系统
院系名称: 计算机学院
专业名称: 软件工程
班 级:
学生姓名:
学号(8位):
指导教师:
设计起止时间:2016年4月日~20年月日一. 设计目的
通过本次课程设计,让学生进一步理解和掌握各种基本抽象数据类型的逻辑结构、存储结构和实现操作算法,以及它们的使用方法,提高学生分析问题能力、求解问题的方法、编程能力。
二. 设计内容
1、设计并显示学校的校园平面图,
地点(地点名称、地点介绍),
路线(公里数)均不少于10个。(文件存储)
2、提供图中任意地点相关信息的查询。
3、提供图中任意地点的问路查询:
1)任意两个地点之间的一条最短的简单路径;
(最短路径长度——中转次数最少)
2)任意两个地点之间的一条最佳访问路线;
(带权(公里数)最短路径长度)
3)任意两个地点之间的所有简单路径。
4、提供图中所有地点的最佳布网方案;
5、增加新地点和路线、撤销旧地点和路线。
三.概要设计
功能模块图;
校园导游系统系统结构图
2.各个模块详细的功能描述。
基本模块:
校园平面图:此模块用于显示校园平面图。
景点列表模块:此模块以列表形式显示校园内所有景点名称。
景点介绍模块:此模块以文本形式显示景点的介绍信息。
景点路线模块:此模块以列表显示景点的路线信息。
问路查询模块:此模块实现了景点路线的查询功能,用户选择起点和终点后,点击查询按钮便可显示起点到达终点的最短路径信息和距离。
菜单模块:
系统:
添加景点路线:此模块用于添加景点路线。
删除景点路线:此模块用于删除旧的景点路线。
退出系统:关闭系统。
帮助:显示帮助信息。
关于:显示关于信息。
四.详细设计
功能函数的调用关系图;
函数调用关系图
各功能函数的数据流程图;
GetList()数据流程
Create()数据流程
重点设计及编码。
//Dijkstra算法求得从起点城市到各终点城市的最短路线
public void Dijkstra(int start,int end,int dist[],int path[][]){
System.out.println(start+---+end);
int mindist,i,j,k = 0,t=1;
for(i=1;i=list.size();i++){ //初始化
dist[i]=arcs[start][i];
if(arcs[start][i]!=Integer.MAX_VALUE){
path[i][1]=start;
}
}
path[start][0]=1;
for(i=2;i=list.size();i++){ //寻找各条最短路线
mindist=Integer.MAX_VALUE;
for(j=1;j=list.size();j++) //选择最小权值的路线
if(path[j][0]!=0 dist[j]mindist){
k = j;
mindist = dist[j]; // System.out.println(dist[j]);
}
// if(mindist==Integer.MAX_VALUE)
// continue;
path[k][0] = 1;
for(j=1;j=list.size();j++){ //修改路线
if(path[j][0]!=0 arcs[k][j]Integer.MAX_VALUE dist[k]+ arcs[k][j] dist[j]){
dist[j] = dist[k] + arcs[k][j];
t = 1;
while(path[k][t]!=0){ //记录新路线
path[j][t] = path[k][t];
t++;
}
path[j][t]=k;
文档评论(0)