Advertisement
mdmamunkhan

DFS_AI_print_parent_each_node

Feb 15th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.58 KB | None | 0 0
  1. package dfs;
  2. import java.util.Arrays;
  3. import java.util.Scanner;
  4.  
  5. public class Dfs {
  6.     public static int[][] matrix;
  7.     public static int[] visited;
  8.     public static int[] parent;
  9.     public static int maxNodeNumber;
  10.    
  11.     public static void dfsIteration(int startNode)
  12.     {
  13.         //System.out.println("Source " + startNode);
  14.         visited[startNode] = 1;
  15.         for (int i = 0; i <= maxNodeNumber; i++) {
  16.             if(visited[i] == 0 && matrix[startNode][i] == 1)
  17.             {
  18.                 parent[i] = startNode;
  19.                 dfsIteration(i);
  20.             }
  21.         }
  22.     }
  23.     public static void printParent()
  24.     {
  25.         for (int i = 0; i <= maxNodeNumber; i++) {
  26.             System.out.println("Child: "+i+ " Parent "+ parent[i]);
  27.         }
  28.     }
  29.  
  30.     public static void main(String[] args) {
  31.        
  32.         Scanner in = new Scanner(System.in);
  33.        System.out.println("maxNode : ");
  34.        maxNodeNumber = in.nextInt();
  35.        matrix = new int[maxNodeNumber+1][maxNodeNumber+1];
  36.        visited = new int[maxNodeNumber+1];
  37.        parent = new int[maxNodeNumber+1];
  38.         Arrays.fill(parent, -1);
  39.        System.out.println("Enter the adjacent matrix");
  40.        for(int i=0; i<= maxNodeNumber; i++ )
  41.        {
  42.            for(int j = 0; j <= maxNodeNumber; j++)
  43.            {
  44.                matrix[i][j] = in.nextInt();
  45.            }
  46.        }
  47.        System.out.println("Start Node: ");
  48.        int startNode = in.nextInt();
  49.        System.out.println("Starting DFS Traversing");
  50.        dfsIteration(startNode);
  51.        printParent();
  52.     }  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement