package DP;
public class BellmanFordAlgorithm {
public static void main(String[] args) {
int V = 5; // Number of vertices in graph
int E = 8; // Number of edges in graph
Graph graph = createGraph(V, E);
graph.edge[0].src = 0;
graph.edge[0].dest = 1;
graph.edge[0].weight = -1;
graph.edge[1].src = 0;
graph.edge[1].dest = 2;
graph.edge[1].weight = 4;
graph.edge[2].src = 1;
graph.edge[2].dest = 2;
graph.edge[2].weight = 3;
graph.edge[3].src = 1;
graph.edge[3].dest = 3;
graph.edge[3].weight = 2;
graph.edge[4].src = 1;
graph.edge[4].dest = 4;
graph.edge[4].weight = 2;
graph.edge[5].src = 3;
graph.edge[5].dest = 2;
graph.edge[5].weight = 5;
graph.edge[6].src = 3;
graph.edge[6].dest = 1;
graph.edge[6].weight = 1;
graph.edge[7].src = 4;
graph.edge[7].dest = 3;
graph.edge[7].weight = -3;
bellmanFord(graph, 0);
}
// Creates a graph with V vertices and E edges
public static Graph createGraph(int V, int E){
Graph graph = new Graph(V, E);
graph.edge = new Edge[graph.E];
for(int i=0; i
Number of vertices, E-> Number of edges
Edge[] edge; // graph is represented as an array of edges.
public Graph(){
}
public Graph(int V_, int E_){
V = V_;
E = E_;
}
}
}
http://www.geeksforgeeks.org/dynamic-programming-set-23-bellman-ford-algorithm/
https://blog.itu.dk/SGDS-E2012/files/2012/11/44demobellmanford.pdf