数理与信息工程学院.doc_第1页
数理与信息工程学院.doc_第2页
数理与信息工程学院.doc_第3页
数理与信息工程学院.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数理与信息工程学院课程论文 课程名称 图论及其应用 题 目 最短路Dijkstra算法 姓 名 蒋黎锋 学 号 06200104 专 业 信息与计算科学06(1) 指导老师 卜月华 最短路Dijkstra算法1、引言最短路径问题是图论研究的一个重要课题 ,它广泛应用于交通、网络寻优等领域。最短路径问题要解决的就是求加权图 G= 中两给定顶点之间的最短路径。求最短路径的一个著名算法是迪克斯特拉(Dijkstra)算法 ,它可以求出图中从一个顶点到其它各顶点的最短路径的长度及一条最短路径。但是 ,该算法具有其局限性 ,它不能求出从一个顶点到其它各顶点的所有最短路径。本文通过对最短路径问题进行深入的分析 ,提出了 Dijkstra 的一种改进算法。该算法只需求出从一个顶点到其它各顶点的所有最短路径的长度 ,不需存储任何最短路径信息即可求出所有最短路径。2、相关概念定义1 给定简单加权图 ,设,边,其中 是的结点,序列,称为连接到的路,记为。路中边的数目称为该路的秩。称为该路的长度。所有连接到的路中长度最小的路称为到的最短路径。定义 2 给定简单加权图,称为图的邻接矩阵,其中表示之间边的权值。求最短路径最著名的算法是 Dijkstra 算法 ,其基本思想是按路径长度递增的次序产生最短路径 ,可由下式给出:Dijkstra 算法具有其局限性 ,它只能求出一条最短路径 ,而不能求出所有最短路径。本文提出了Dijkstra 的一种改进算法 ,克服了原算法的不足之处 ,能够快速地求出一个顶点到其它各顶点的所有最短路径。3、算法与实例为了叙述方便 ,首先引入以下记号并作相应的约定:(1)A表示图G的邻接矩阵;(2)S表示已找到从出发的最短路径的终点集合;(3)向量D的每个分量 Di表示从始点到每个终点的最短路径的长度;(4) Succ(u)表示 u的后继结点组成的集合。设简单加权图 G= (无向图或有向图) , 则求顶点到其它各顶点的所有最短路径的算法描述如下:(1)初始化 S 及 D。,。(2)选取,使得 ,令。(3)修改从出发到集合上任一结点可达的最短路径长度。如果 Dj + Ajk Dk,则修改 Dk为:Dk = Dj + Ajk。(4)重复操作(2) 、(3) 共 n- 1 次,求得从到其余各顶点的最短路径长度 Dj。(5)按如下方法构造矩阵 P:(6)根据矩阵 P输出所有最短路径。方法是:按照公式 Succ(u) = w | Puw = Dw且 uw求出每个顶点的后继结点组成的集合;根据求得的结果按秩的大小输出从源点到其他各顶点的所有最短路径。该算法的时间复杂度与 Dijkstra 算法相同 ,为。但是,该算法可以一次求出从一个顶点到其它各顶点的所有最短路径,从而克服了Dijkstra 算法的不足之处。下面通过一个例子来说明算法的执行过程。例1 如图1 所示 ,求顶点到其余各顶点的所有最短路径。解: 图 1 的邻接矩阵为:(1)初始化 S 及 D。,D = (0 2 1 ) 。(2) ,令,则。(3)修改从出发到集合上任一结点可达的最短路径长度,D = (0 2 1 3 ) 。(4) 。令 ,则。(5)修改从出发到集合上任一结点可达的最短路径长度,D = (0 2 1 3 4) 。(6) 。令 ,则。(7)修改从出发到集合上任一结点可达的最短路径长度,D = (0 2 1 3 4) 。(8) 。令,则(9)修改从出发到集合上任一结点可达的最短路径长度,D = (0 2 1 3 4) 。(10)根据矩阵 A和 D 构造矩阵 P 如下:根据上面矩阵 P、D 和公式,求出每个顶点的后继结点组成的集合,则有:, , 于是得到到其它各顶点的所有最短路径,其中秩为1的最短路径为、秩为2的最短路径为、,秩为3的最短路径为、,秩为4的最短路径为。4、结束语本文针对Dijkstra 算法在求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论