图片摘自《啊哈!算法》
/**
* @author zc
* @version 1.0
* @date 2020/3/29 4:10 下午
* @desc Bellman-Ford算法
* 时间复杂度O(MN)
*/
public class BellmanFord {
/**
* 5 5
* 2 3 2
* 1 2 -3
* 1 5 5
* 4 5 2
* 3 4 3
* <p>
* 以上邻接表
* 表示有5个点,5条边
* 2到3的距离是2
* 1到2的距离是-3
* 以此类推
*
* @param args
*/
public static void main(String[] args) {
int pointNum = 5;
int lineNum = 5;
int[] u = {
2, 1, 1, 4, 3};
int[] v = {
3, 2, 5, 5, 4};
int[] w = {
2, -3, 5, 2, 3};
// 用数组的0~4索引表示点1~5
int[] ret = BellmanFordSearch2(pointNum, lineNum, u, v, w, 1);
System.out.println(Arrays.toString(ret));
}
private static int[] BellmanFordSearch(int pointNum, int lineNum, int[] u, int[] v, int[]</