Dijkstra算法(贪心算法)

Posted joezzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dijkstra算法(贪心算法)相关的知识,希望对你有一定的参考价值。

问题描述

  给定一张有向带权图和其中的一个点(作为源点),求源点到其余顶点的最短路径

基本思想

  1.源点u,所有顶点的集合V,集合S(S中存有的顶点,他们到源点的最短路径已经确定),集合V-S(V-S中的顶点,他们到源点的最短路径待确定),数组dist[]记录当前所有顶点的最短路径长度

  2.特殊路径:从源点u出发经过集合S中的所有点到集合V-S中的某个点(这个点是上一次加入S的顶点的邻节点)的路径

  3.贪心策略:每次选择当前特殊路径长度最短的路径,将新连接的点加入集合S,并在V-S中去除,直到S中包含了所有顶点

以上是关于Dijkstra算法(贪心算法)的主要内容,如果未能解决你的问题,请参考以下文章

[C++]单源最短路径:迪杰斯特拉(Dijkstra)算法(贪心算法)

图论——关于Dijkstra的贪心思想

贪心算法之Dijkstra

贪心算法初探3——最短路径(Dijkstra算法)

贪心算法-图的最短路径算法Dijkstra之证明

关于Dijkstra算法