Dijkstra最短路径算法详细步骤

发布:2022-10-10 15:20:27
阅读:4476
作者:网络整理
分享:复制链接

给定一个图和一个源点,图中散步不同位置的节点,Dijkstra算法就可以找到从源点到最短路径的节点。

Dijkstra的算法与Prim算法求最小生成树非常相似。算法生成以给定源点为根的最短路径树。需要维护两组数据,一组包含最短路径树中的节点,另一组包含尚未包含在最短路径树中的顶点。算法每进行一次,都会找到尚未包含的集合中的一个节点,并且与源点的距离最小。

以下是Dijkstra算法中用于查找从单个源点到给定图中所有其他节点的最短路径的详细步骤。

Dijkstra算法查找最短路径步骤

1)创建一个集合sptSet(最短路径树集),跟踪包含在最短路径树中的节点,即计算并确定其与源点的最小距离。

2)为输入图中的所有顶点分配一个距离值。将所有距离值初始化为INFINITE,将源点的距离值指定为0。

3)选择一个在sptSet中不存在且具有最小距离值的节点u。将u包含到sptSet中。

4)更新u到所有相邻节点的距离值。更新距离值,需要遍历所有相邻节点。对于每个相邻定义为v,如果u的距离值和uv的权重之和小于v的距离值,则更新v的距离值。

用Python实现Dijkstra最短路径算法

import sys
class Graph():
def __init__(self,vertices):
self.V=vertices
self.graph=[[0 for column in range(vertices)]
for row in range(vertices)]
def printSolution(self,dist):
print("Vertex\tDistance from Source")
for node in range(self.V):
print(node,"\t",dist[node])
def minDistance(self,dist,sptSet):
min=sys.maxsize
for u in range(self.V):
if dist<u>&lt;min and sptSet<u>==False:
min=dist<u>
min_index=u
return min_index
def dijkstra(self,src):
dist=[sys.maxsize]*self.V
dist[src]=0
sptSet=[False]*self.V
for cout in range(self.V):
x=self.minDistance(dist,sptSet)
sptSet[x]=True
for y in range(self.V):
if self.graph[x][y]&gt;0 and sptSet[y]==False and\
dist[y]&gt;dist[x]+self.graph[x][y]:
dist[y]=dist[x]+self.graph[x][y]
self.printSolution(dist)
g=Graph(9)
g.graph=[[0,4,0,0,0,0,0,8,0],
[4,0,8,0,0,0,0,11,0],
[0,8,0,7,0,4,0,0,2],
[0,0,7,0,9,14,0,0,0],
[0,0,0,9,0,10,0,0,0],
[0,0,4,14,10,0,2,0,0],
[0,0,0,0,0,2,0,1,6],
[8,11,0,0,0,0,1,0,7],
[0,0,2,0,0,0,6,7,0]
];
g.dijkstra(0);
最新文章
大模型作为人类与智能体交流门户的战略价值——新圈地运动与智能产业的未来战略
2025-12-24 18:14:28
大模型作为人类与智能体交流门户的战略价值——人与智能体的界面式交流
2025-12-24 18:12:32
大模型作为人类与智能体交流门户的战略价值——从语言到大模型:认识论根基的嬗变
2025-12-24 18:11:28
从开路先锋到智造标杆,网易灵动携手大型央企开始“无人化作业”新阶段
2025-12-24 16:30:32
把AI玩出花!网易伏羲分享:3D AIGC的8年实践、如何让游戏更好玩?
2025-12-24 14:30:20
热门文章
1创新突破!网易有灵玉声配音平台斩获2024中国设计智造大奖“佳作奖”
2网易伏羲携手阿里云展示革命性游戏AI应用,云栖大会引领技术新高度!
3亮相AICon 2024,网易伏羲“网易有灵AOP平台”助力打造《永劫无间》手游AI队友,首度开启邀测
4当游戏NPC有了“灵魂”,网易伏羲解码游戏智能交互场景新实践
5新功能速递 | 网易瑶台2.0功能优化、交互升级,打造新型沉浸式体验
6从废弃水泥厂到科技新地标,上海“张江之尚”的重生密码
7浙湘链接 赋能产业!网易伏羲浙湘两省工程机械产业链对接交流会
8直面天命,路在脚下!最全西游记系列捏脸奉上
9网易伏羲:智能体驱动 未来可期 | 《天堂硅谷》杂志报道
10逆水寒携手网易伏羲邀请五大AI厂商,共创全球首个游戏内AI竞技场
扫码进群
微信群
了解更多资讯