算法设计与分析 课件 第五章 贪心法 5.2.3 单源最短路径问题.ppt

算法设计与分析 课件 第五章 贪心法 5.2.3 单源最短路径问题.ppt

计算机算法设计与分析第5章贪心法5.2.3单源最短路径问题给定一个带权有向图?G=(V,E),其中每条边的权是一个非负实数。给定图G中的一个顶点v0∈V,称为源点。求源点v0到G中其余各顶点的最短路径长度。这里的长度是指路径上各边权之和。这个问题通常称为单源最短路径问题。5.2.3单源最短路径问题源点终点最短路径路径长度11无??2(1,3,2)7?3(1,3)3?4(1,3,2,4)9?5(1,3,5)55.2.3单源最短路径问题dist[i]表示计算过程中源点到各目标顶点i的当前最短路径长度,dist[i]随着计算过程会不断变化,其初始值为源点到其余顶点有向边的权值,若不存在有向边则用无穷大。path[i]表示在最短路径上顶点i的前一个顶点编号。集合S表示已求出最短路径的顶点的集合。集合T(T=V-S)表示尚未确定最短路径的顶点集合,V是图G中顶点的集合。二维数组edge表示图G的邻接矩阵。贪心策略,Dijkstra算法迪杰斯特拉(Dijkstra)提出了一个按路径长度递增次序产生最短路径的贪心算法,对于有向带权图,算法步骤如下:(1)令S={1},T=V-S,T中顶点i对应的距离值dist[i]:若边1,i∈E,dist[i]=edge[1][i],否则dist[i]=∞。(2)从T中

文档评论(0)

1亿VIP精品文档

相关文档