最短路径的算法及其应用:
算法有很多,包括上面没有讲到的和讲到的:
SSSP(单源最短路径):1.标号法 2.Dijkstra(可以用heap优化) 3.Bellman_ford(可以检测负环) 4.SPFA(可以检测负环,还可以继续优化,不过还没学)
所有点对的最短路径:1.可以求N次SSSP 2.Floyd算法
该章提到的应用问题:
1. 求图的中心点:
中心点定义:找出一个顶点,使得其到所有其他的顶点的最短路径的最大值最小。
求法:求出所有顶点对的最短路径,求出每个顶点到其他所有顶点的最短路径的最大值,从中选出最小的那个,用Floyd算法求解,时间复杂度为O(N^3).
代码:
#include<iostream>
#include<cstdio>
using namespace std;
const int inf = 0xffffff;
const int MAXN = 110;
#define MIN(a,b) (a