I’m working on a project for my A level. It involves finding the maximum flow of a network, and I’m using javascript.
I have a 2D array, with values in the array representing a distance between the two points. An example of the array:
0 2 2 0
0 0 1 2
0 0 0 2
0 0 0 0
I think I need to use a recursive technique to find a path; below is some pseudocode, assuming that the array is 4×4. a is (0,0), b is (3,3).
function search(a,b)
from a to b
if element(i,j) != 0 then
store value of element
search(j,3)
I was wondering if that was the right construction for a depth first search. Thanks for any help.
Seriously consider using BFS. Edmonds-Karp is the Ford-Fulkerson but the path finding method is fixed – BFS, which guarantees worst case O(V * E^2), which is not the case with DFS. V is number of vertices and E – number of edges. If you still insist on DFS, then at least you should check that the node which you are visiting next in the loop is not yet visited to prevent eternal recursion. You can use a boolean array for it.