Home java Ford Bellman Algorithm - Path Recovery

# Ford Bellman Algorithm – Path Recovery

Author

Date

Category

The course need a software implementation of this algorithm. But stuck at the stage of restoring the path to the vertices, help, please.

``````static final double inf = double.positive_infinity;
Public Static Void BellManford (Double [] [] z, Int Start, Int End) {
INT VERTICESCOUNT = Z.Length;
Double [] q = new double [verticescount];
ArrayList & LT; Double & GT; labels = new arraylist & lt; & gt; ();
For (int i = 0; i & lt; verticescount; i ++) {
q [i] = inf;
}
q [start - 1] = 0.0;
for (int k = 0; k & lt; = verticescount - 1; k ++) {
For (int i = 0; i & lt; verticescount; i ++) {
For (int j = 0; j & lt; verticescount; j ++) {
labels.add (q [j] + z [j] [i]);
}
q [i] = minofarray (labels);
labels.clear ();
}
}
System.Out.printLN (Q [END - 1]);
}
Public Static Double Minofarray (ArrayList & LT; Double & GT; Array) {
Double min = inf;
For (int i = 0; i & lt; array.size (); i ++) {
if (min & gt; array.get (i))
min = array.get (i);
}
RETURN MIN;
}
``````

At the moment of triggering the condition `if (min & gt; array.get (i)) `Record to the additional list `PREDS `number `I `(local `I ``minofarray `!!) The best ancestor for the vertex `i `(local `i `cycle `FOR (int i = 0; I & LT; VerticesCount; I ++) `).

At the end of the work to find the path to the top of `q `take her ancestor `preds [q] `, then his ancestor, and so unwind before the initial vertex

Why spend time searching for the correct question and then entering your answer when you can find it in a second? That's what CompuTicket is all about! Here you'll find thousands of questions and answers from hundreds of computer languages.