Dijkstra算法:用于解决 非负路权 单源 最短路问题
无优化的Dijkstra算法
int N, G[maxn][maxn] = {
0 }; //N为结点数目(编号0 ~ N-1)
int d[maxn], pre[maxn]; //G为邻接矩阵,G[u][v]=0表示 u、v无通路
bool vis[maxn] = {
false };
void Dijkstra(int s) //s为起点
{
fill(d, d + maxn, INF);
fill(pre, pre + maxn, -1); //-1表示无前驱结点
d[s] = 0; //起点s到自身距离为0,其他全为INF
for (int i = 0; i < N; i++)
{
int u, Min = INF; //找到 未访问的结点 中 d最小的———— u