没有合适的资源?快使用搜索试试~ 我知道了~
1. 建立图的存储结构 首先定义交通图的存储结构。邻接矩阵是表示图形中顶点之间相邻关系的矩阵。设G=(V,E)是具有n个顶点的图,则G的邻接矩阵是具有如下定义的n阶方阵。 A[i,j]= 一个图的邻接矩阵表示是唯一的。图的邻接矩阵表示,除了需要用一个二维数组存储顶点之间相邻关系的邻接矩阵外,通常还需要使用一个具有n个元素的一维数组来存储顶点信息,其中下标为i的元素存储顶点vi的信息
资源推荐
资源详情
资源评论
《数据结构》课程设计报告
实验五 图的设计
班 级: 计升
091
学 号: 090814101
姓 名: 王芙麟
同 组 者: 无
时 间:
一、设计目的与内容
1.设计目的
(1).熟悉图的邻接链表存储结构。
(2).熟悉图的邻接链表的建立。
(3).掌握图的遍历算法。
(4).熟练掌握迪杰斯特拉算法和费洛伊德算法,能够利用它们解决最短路径问题。
(5).能够解决工程项目实施过程中的关键路径问题。
2.设计内容:
设计一个交通咨询系统,能让旅客咨询从任一个城市定点到另一个城市定点之间的最短路径
或最低花费或最少时间等问题。对于不同的咨询要求、可输入城市间的路程或所需时间或
所需花费。
要求:
(1).建立交通网络网的存储结构。
(2).提供程序测试方案。
(3).界面友好。
二、 算法的基本思想
实验分三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再
实现两个城市顶点之间的最短路径问题。
1. 建立图的存储结构
首先定义交通图的存储结构。邻接矩阵是表示图形中顶点之间相邻关系的矩阵。设
G=(V,E)是具有 n 个顶点的图,则 G 的邻接矩阵是具有如下定义的 n 阶方阵。
A[i,j]=
一个图的邻接矩阵表示是唯一的。图的邻接矩阵表示,除了需要用一个二维数组存
储顶点之间相邻关系的邻接矩阵外,通常还需要使用一个具有 n 个元素的一维数
组来存储顶点信息,其中下标为 i 的元素存储顶点 vi 的信息
2. 单源最短路径
初始化 S 和 D,置空最短路径终点集,置初始的最短路径值;
S[v1]=TRUE;D[v1]=0;//S 集初始时只有源点,源点到源点的距离为 0;
while(S 集中顶点数<n)
{
开始循环,每次求得 v1 到某个 v 顶点的最短路径,并加 v 到 S 集中;
S[v]=TRUE;
更新当前最短路径及距离;
}
3. 任意一对顶点间最短路径
假设求从顶点 vi 到 vj 的最短路径。如果从 vi 到 vj 存在一条长度为 arcs[i][j]的路径,该
路径不一定是最短路径,还需要进行 n 次试探。首先考虑路径〈vi,v1〉和〈v1,vj〉
是否存在。如果存在,则比较路径〈vi,vj〉和〈vi,v1,vj〉的路径长度,取长度较
短者为当前所求得的最短路径。该路径是中间顶点序号不大于 1 的最短路径。其次,
考虑从 vi 到 vj 是否包含有顶点 v2 为中间顶点的路径〈vi,…,v2,…,vj〉,若没有
则说明从 vi 到 vj 的当前最短路径就是前一步求出的;若有,那么〈vi,…,v2,
…,vj〉可分解为〈vi,…,v2〉和〈v2,…,vj〉,而这两条路径是前一次找到的中
间点序号不大于 1 的最短路径,将这两条路径长度相加就得到路径〈vi,…,v2,
…,vj〉的长度。将该长度与前一次中求出的从 vi 到 vj 的中间顶点序号不大于 2 的最
短路径。依次类推,直至顶点 vn 加入当前从 vi 到 vj 的最短路径后,选出从 vi 到 vj 的
中间顶点序号不大于 n 的最短路径为止。由于图 G 中顶点序号不大于 n,所以 vi 到 vj
的中间顶点序号不大于 n 的最短路径,已考虑了所有顶点作为中间顶点的可能性,因
此,它就是 vi 到 vj 的最短路径。
三、测试数据
输入图中顶点个数和边数 n,e: 7,10
输入 10 条边的 i,j 及 w:
1,7,9
2,1,20
2,3,10
2,4,30
3,5,5
5,4,12
5,7,15
6,5,8
6,7,10
7,3,18
有向图的存储结构建立完毕!
******求城市之间的最短路径******
============================================
1.求一个城市到所有城市的最短路径
2.求任意的两个城市之间的最短路径
============================================
请选择: 1 或 2,选择 0 退出: 1
求单源路径,输入源点 v: 1
路径长度 路径
0 1
32767 2
27 3<-7<-1
44 4<-5<-3<-7<-1
32 5<-3<-7<-1
32767 6
9 7<-1
******求城市之间的最短路径******
============================================
1.求一个城市到所有城市的最短路径
剩余13页未读,继续阅读
资源评论
沈天星.飛
- 粉丝: 144
- 资源: 30
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功