0

I need to find bridges in a graph with iterative dfs the code is a recursive one, and I have no idea about how to convert it to an iterative dfs

void bridgeUtil(int u, boolean visited[], int disc[], int low[], int parent[])
{

    visited[u] = true;

    disc[u] = low[u] = ++time;

    Iterator<Integer> i = adj_sub[u].iterator();
    while (i.hasNext())
    {
        int v = i.next();

        if (!visited[v])
        {
            parent[v] = u;
            bridgeUtil(v, visited, disc, low, parent);

            low[u]  = Math.min(low[u], low[v]);

            if (low[v] > disc[u]) {
                System.out.print(u);
                System.out.print(" ");
                System.out.println(v);
            }
        }
        else if (v != parent[u]) {
            low[u] = Math.min(low[u], disc[v]);
        }
    }

}
void bridge()
{
    boolean visited[] = new boolean[V];
    int disc[] = new int[V];
    int low[] = new int[V];
    int parent[] = new int[V];


    for (int i = 0; i < V; i++)
    {
        parent[i] = NIL;
        visited[i] = false;
    }
    for (int i = 0; i < V; i++)
        if (visited[i] == false) {
            bridgeUtil(i, visited, disc, low, parent);
            //DFS_sub(i, visited, disc, low, parent);
        }

}
c0der
  • 18,467
  • 6
  • 33
  • 65
  • you can refer this. https://stackoverflow.com/questions/23179579/finding-bridges-in-graph-without-recursion – Yaman Jain Apr 21 '19 at 15:48
  • 1
    Possible duplicate of [Finding bridges in graph without recursion](https://stackoverflow.com/questions/23179579/finding-bridges-in-graph-without-recursion) – Rajendra Kadam Apr 21 '19 at 15:54

0 Answers0