[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理

文章目录

迪杰斯特拉(Dijkstra)算法是最短路径算法,用于计算一个节点到其他节点的最短路径。

它的主要特点是以起始点为中心一层一层的向外走(广度优先搜索),直到找到终点

算法不好概括,直接来看个例子

例子

数据结构

《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》

  • dist[]:起点到未被并入的顶点的最短距离
    【类比】Prim算法中的lowCost[]:当前生成树到为并入的顶点的最短距离
  • path[]:起点到该顶点的最短路径
  • S[]:已并入的顶点

步骤

【第一步】
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
【第二步】
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》

【步骤三】
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》

【步骤四】
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
【步骤五】
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
【步骤六】
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》
《[图] 6.2 Dijkstra算法|迪杰斯特拉算法 - 最短路径 - 原理》

【算法结束】

  1. dist[v]:起点0到v的最短路径长度
  2. path[v]:起点0到v的最短路径
    原文作者:Dijkstra算法
    原文地址: https://blog.csdn.net/summer_dew/article/details/81582989
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞