给定一个带权有向图G=(V,E),其中每条边的权是一个实数。另外,还给定V中的一个顶点,称为源。现在要计算从源到其他所有各顶点的最短路径长度。这里的长度就是指路上各边权之和。这个问题通常称为单源最短路径问题。相关算法的基本思路略
单源最短路径
给定一个带权有向图G=(V,E),其中每条边的权是一个实数。另外,还给定V中的一个顶点,称为源。现在要计算从源到其他所有各顶点的最短路径长度。这里的长度就是指路上各边权之和。这个问题通常称为单源最短路径问题。相关算法的基本思路略,请参考《算法与数据结构》或《算法设计与分析》理论课教材。
实验目的与要求:
实现Dijkstra算法程序(针对权值为正的有向图);
实现Bellman-Ford算法程序(针对包含权值为负的有向图)或者SPFA算法程序(Bellman-Ford算法的优化)。
要求:
(1)从文本文件或者键盘中输入有向图的信息。
(2)设置源点。
(3)输出源点到其他顶点的最短路径长度。
(4)输出源点到其他顶点的最短路径。