计算机算法设计与分析第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中选取一个其距S最近,即dist值最小的顶点k,加入S,T=V-{k},对T中所有的顶点i的距离值dist[i]进行修改:(3)重复上述步骤(2),直到S中包含所有顶点,即|S|=|V|为止,这时T=V-S={}。单源最短路径问题迭代Sk2345初始{1}--dist[2]=10path[2]=1dist[3]=3path[3]=1dist[4]=∞path[4]=-1dist[5]=∞path[5]=-11{1,3}3dist[2]=7path[2]=3--dist[4]=11path[4]=3dist[5]=5path[5]=32{1,3,5}5dist[2]=7path[2]=3--dist[4]=11path[4]=3--3{1,3,5,2}2----dist[4]=9path[4]=2--4{1,3,5,2,4}4--------效率分析每次从T中寻找一个最小dist值的顶点k加入到S(找最小值时间复杂度O(n)),并修改T中剩余顶点的dist值。对于n个顶点的图G,这个过程需要重复n-1次,所以算法时间复杂度为O(n2)。若在寻找最小dist值过程使用一个堆来完成,则寻找最小值并重新调整堆时间为O(logn),则Dijkstra算法的时间复杂度为O(nlogn)。
您可能关注的文档
- 算法设计与分析 课件 第八章 线性规划.pptx
- 算法设计与分析 课件 第二章 蛮力法.pptx
- 算法设计与分析 课件 第六章 回溯法6.1.1 DFS思想.ppt
- 算法设计与分析 课件 第六章 回溯法6.2.1 解空间树.ppt
- 算法设计与分析 课件 第六章 回溯法6.2.2 回溯法框架.ppt
- 算法设计与分析 课件 第六章 回溯法6.3.1 饲料投喂问题 -算法改进.ppt
- 算法设计与分析 课件 第六章 回溯法6.3.1 饲料投喂问题.ppt
- 算法设计与分析 课件 第六章 回溯法6.3.2 n皇后问题.ppt
- 算法设计与分析 课件 第六章 回溯法6.3.3 花草种植问题.ppt
- 算法设计与分析 课件 第六章 回溯法6.3.4 路线选择问题.ppt
- GB/T 22200.1-2025低压电器可靠性 第1部分:通则.pdf
- 中国国家标准 GB/T 9364.5-2025小型熔断器 第5部分:小型熔断体质量评定导则.pdf
- GB/T 9364.5-2025小型熔断器 第5部分:小型熔断体质量评定导则.pdf
- 中国国家标准 GB/T 22200.1-2025低压电器可靠性 第1部分:通则.pdf
- 《GB/T 22200.1-2025低压电器可靠性 第1部分:通则》.pdf
- 2026年及未来5年市场数据中国卷烟行业竞争状况及投资发展前景分析报告.docx
- 2026年及未来5年市场数据中国咖啡机行业市场运营态势与投资潜力咨询报告(定制版).docx
- 2026年及未来5年市场数据中国咖啡连锁产业深度调研与投资决策咨询报告.docx
- 2026年及未来5年市场数据中国精氨酸行业市场深度调研及发展趋势与投资前景研究报告.docx
- 2026年及未来5年市场数据中国精细化工市场运行格局及投资战略研究报告.docx
原创力文档

文档评论(0)