Dijkstra算法是一种用于解决单源最短路径问题的经典算法,其目标是找到图中从一个源节点到所有其他节点的最短路径。
下面我将详细介绍Dijkstra算法
动图展示(取自:Python实现dijkstra算法_迪杰斯特拉算法python-CSDN博客)
算法步骤:
-
初始化: 设置一个起始节点,将其距离设置为0,其他节点的距离设置为无穷大(或者一个极大的数),并将所有节点标记为未访问。
-
选择下一个节点: 从未访问的节点中选择距离起始节点最近的节点作为当前节点。
-
更新距离: 对于当前节点的所有邻居节点,更新其到起始节点的距离。如果通过当前节点到达邻居节点的距离比当前已知的距离更短,则更新邻居节点的距离。
-
标记节点: