爱编程,爱折腾,爱玩,一起来编程玩转世界吧!

漫学编程

Dijkstra's算法

Dijkstra's算法解决了带权图单源最短路径的问题。例如:有n个城市,n个城市间有m条路,每条路开车所用的时间不一样,如果我们要计算两个城市间开车所用时间最短,我们就可以使用Dijkstra's算法。接下来让我们一起看看编程玩家俱乐部的成员们在外太空遇到了什么样的问题,他们又是怎么解决的呢? 接下来我们用C++代码来实现Dijkstra's算法,在这里我们使用了邻接表来保存图的数据。 #include <iostream> #include <climits> #include <vector> using namespace std; // 结构体Node保存2个数据,一个数据为节点的id,则一个为权值 struct Node { int id; int w; }; void dijsktra(vector<Node> g[], bool