dijkstra 算法
时间: 2023-09-17 09:10:43 浏览: 100
dijkstra算法
Dijkstra算法,又称最短路径算法,是一种常用的图论算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。
具体实现步骤如下:
1. 创建一个列表dist,存储起点到各个节点的距离,初始时,起点距离为0,其他节点距离为无穷大。
2. 创建一个集合visited,用于存储已经找到最短路径的节点。
3. 从dist中选择距离最小的节点,将其加入visited集合,并更新其相邻节点的距离。
4. 重复步骤3,直到visited集合包含所有节点或者无法继续更新节点距离为止。
Dijkstra算法能够解决无负权边的图的单源最短路径问题。如果图中存在负权边,可以使用Bellman-Ford算法或者SPFA算法。
阅读全文