最短路径问题分为两大类:
#无劝图的单源最短路径;
#带权有向图的单源最短路径、各顶点之间的最短路径。
求解最短路径的算法,通常都依赖于一种性质,也就是两点之间的最短路径也包含了路径上其他顶点间的最短路径
【1】无权图的单源最短路径:
可用BFS广度优先搜索;
【2】带权有向图的最短路径:
图是带权图,把从一个顶点 v0 到图中其余任一个顶点 vi 的一条路径(可能不止一条)上所经过边上的权值之和定义为该路径的带权路径长度,把带权路径长度最短的那条路径也称作:最短路径。
带权有向图的最短路径问题分为两类:
#单源最短路径:即求图中某一顶点到其他各顶点的最短路径;用Dijkstra算法。
无法求带负权值的。
#求每一对顶点间的最短路径,用Floyd算法。
可以求带负权值的。