- 1
- 0
- 约7.43千字
- 约 59页
- 2017-11-08 发布于湖北
- 举报
资料均来自网络,版权归作者所有,可学习交流使用。
一般的最短路问题描述: 给定一个赋权有向图D=(V,A),对每一个弧a=(vi,vj),相应地有权w(a)=wij,又给定D中的任何两个顶点vs和vt ,设P是从vs到vt的路,定义路P的权是P中所有弧之和,记为w(P),最短路问题就是要在所有从vs到vt的路中,求一条权最小的路,即一条从vs到vt的路P0使得: 路P0的权称为从vs到vt的距离,记为d(vs,vt)。 有向图权值非负---- Dijkstra算法 Dijkstra算法的基本步骤(权值非负) 1.给顶点v1标号(0),v1称为已标号点,记标号点集为V1={v1} 2.在未标号点集V2中找出与标号点集V1中的顶点vi有弧相连(并且以vi为起点)的点vj, 3.在第2步选出的点中,选出满足下面条件的点vk,并给vk标号(l,L1k),其中l为第一标号, L1k为第二标号 为从v1到vk的最短路的长度,l表示在从v1到vk的最短路上,与vk相邻的点是vl 4. 若最后一个顶点vn未标号,则转回第2步;若vn已标号,则从vn开始,按照第一个标号逆向追踪,直到v1,就得到从v1到vn的最短路,vn的第二个标号表示最短路的长度。 求从v1到v8的最短路 (0) (1,1) (1,3) (3,5) (2,6) (5,10) (5,9) (5,12) 注:在给顶点编号时,如果在多个为标号点均取得最小值Llk则对这多个
原创力文档

文档评论(0)