- 4
- 0
- 约9.19千字
- 约 14页
- 2016-11-27 发布于重庆
- 举报
基于VC的最短路徑Floyed算法的实现
基于VC的最短路径Floyed算法的实现
1.课程设计的目的
为了巩固“通信网技术应用”课程学到的相关知识,通过对本课程所学知识的综合运用,融会贯通课程中所学的理论知识,初步掌握通信网络的体系结构和扩频通信系统等相关知识;加深对通信网络的基本理论、基本知识和常用技术的理解;提高学生分析问题的能力和实践能力,培养科学研究的独立工作能力。通过floyed算法求解图中顶点的最短路径问题实验,更加深入的了解了数据结构与算法在各个领域的应用。比如图的最短路径问题,衍生为校内导游图,乘车路径问题等等的实际性的日常问题。
2.设计方案论证
2.1 Floyd算法定义
Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。
2.2核心思路
通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(n-1)构造出矩阵D(n)。矩阵D(n)的i行j列元素便是i号顶点到j号顶点的最短路径长度,称D(n)为图的距离矩阵,同时还可引入一个后继节点矩阵path来记录两点间的最短路径。
采用的是松弛技术,对在i和j之间的所有其他点进行一次松弛。所以时间复杂度为O(n^3); 其状态转移方程如下: map[i,j]:=min{map[i,k]+map[k,j],map[i,j]} map[i,j]表示i到j的最短距离 K是穷举i,j的断点 map[n,n]初值应该为0,或者按照题目意思来做。 当然,如果这条路没有通的话,还必须特殊处理,比如没有map[i,k]这条路
2.3算法过程
把图用邻接矩阵G表示出来,如果从Vi到Vj有路可达,则G[i,j]=d,d表示该路的长度;否则G[i,j]=空值。 定义一个矩阵D用来记录所插入点的信息,D[i,j]表示从Vi到Vj需要经过的点,初始化D[i,j]=j。 把各个顶点插入图中,比较插点后的距离与原来的距离,G[i,j] = min( G[i,j], G[i,k]+G[k,j] ),如果G[i,j]的值变小,则D[i,j]=k。 在G中包含有两点之间最短道路的信息,而在D中则包含了最短通路径的信息。比如,要寻找从V5到V1的路径。根据D,假如D(5,1)=3则说明从V5到V1经过V3,路径为{V5,V3,V1},如果D(5,3)=3,说明V5与V3直接相连,如果D(3,1)=1,说明V3与V1直接相连。
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(n-1)构造出矩阵D(n)。矩阵D(n)的i行j列元素便是i号顶点到j号顶点的最短路径长度,称D(n)为图的距离矩阵,同时还可引入一个后继节点矩阵path来记录两点间的最短路径。
对任意图,选择合适的数据结构表示图,在此基础上实现求解最短路径的Floyd算法。
⑴ 通过独立解决某个课程设计问题,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。
⑵ 深刻理解、牢固掌握数据结构和算法设计技术,提高分析和解决实际问题的能力。
⑶ 在程序设计方法以及上机操作等基本技能和科学作风方面进行比较系统和严格的训练。
3.设计的过程与分析
3.1设计的过程
对于任意图,选择存储结构存储图并实现FLOYED算法求解最短路径。将问题分解,分解为两个方面。一是对于任意图的存储问题,第二个是实现floyed算法求解最短路径。首先对于图的创建选择合适的存储结构进行存储,对于合适的存储结构可以简化程序。本实验采用邻接矩阵存储。然后是实现FLOYED算法求解最短路径,在FLOYED算法中路径的长度即是图中两顶点间边的权值,FLOYED算法要求输出任意两个顶点间的最短路径,而且经过的顶点也要输出。考虑到问题的特殊性,采用两个二维数组进行存储。第一个二维数组存储最短路径,第二个二维数组存储路径经过的顶点,在进行适当的运算后对这两个数组进行输出即可。通过问题的分解,逐个解决,实现所要求程序。
为实现上述程序的功能,需要创建邻接矩阵存储图,FLOYED算法求解最短路径。在求解最短路径的时候需要申请两个二维数组A[][]和path[][]分别存储路径和路径经过的顶点。输出是需判断A[][]的值,若A[i][j]=0但i!=j,
您可能关注的文档
最近下载
- 金田JTE 388系列变频器使用手册.pdf
- 第五章+中国的地理差异+课件-2023-2024学年八年级地理下学期人教版.pptx VIP
- 第五章+中国的地理差异+第1课时+课件-2023-2024学年八年级地理下学期人教版.pptx VIP
- 【地理】中国的地理差异第1课时课件-2025-2026学年人教版地理八年级下册.pptx VIP
- 第五章+中国的地理差异+第1课时课件2022-2023学年人教版地理八年级下册.pptx VIP
- ACI_318-05美国混凝土结构设计规范(中文版).docx VIP
- 东北师范大学2024-2025学年第2学期《线性代数》期末试卷(A卷)及参考答案.docx
- 2025年会考政治江苏真题及答案.doc VIP
- 人教版八年级下册地理 第五章第1课时 中国的地理差异 说课课件.ppt VIP
- 第五章 中国的地理差异 说课课件(26张PPT) 2024-2025学年八年级地理下学期人教版.pptx VIP
原创力文档

文档评论(0)