Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- public class DFS {
- public static int x;
- private static LinkedList<Integer> adjList[];
- public static int ct =2;
- public static void readFile(ArrayList list){
- try{
- File f = new File("C:\\Users\\Mahinur\\Desktop\\input.txt");
- Scanner scanner = new Scanner(f);
- while(scanner.hasNext()){
- list.add(scanner.nextLine());
- }
- }catch(Exception e){
- System.out.println("Error: " + e);
- }
- }
- public static void buildGraph(int v, int y,ArrayList<String> list){
- String [] splitA;
- adjList=new LinkedList[v];
- for(int i=0;i<v;i++){
- adjList[i]=new LinkedList();
- }
- while (ct <= y){
- String line = list.get(ct);
- splitA = line.split(",");
- int src = Integer.valueOf(splitA[0]);
- int con = Integer.valueOf(splitA[1]);
- adjList[src ].addFirst(con );
- adjList[con ].addFirst(src );
- ct++;
- }
- for(int count = 0; count <v; count++) {
- System.out.print(count);
- for(int travers : adjList[count]) {
- System.out.print(" --> "+(travers));
- }
- System.out.println();
- }
- }
- public static void PerformDFS(int v,boolean visited[])
- {
- visited[v] = true;
- System.out.print(v+" ");
- Iterator<Integer> i = adjList[v].listIterator();
- while (i.hasNext())
- {
- int n = i.next();
- if (!visited[n])
- PerformDFS(n, visited);
- }
- }
- public static void DFS(int v)
- {
- boolean visited[] = new boolean[x];
- PerformDFS(v, visited);
- }
- public static void main(String[] args){
- ArrayList<String> list =new ArrayList<String>();
- readFile(list);
- x=Integer.valueOf(list.get(0));
- int y=Integer.valueOf(list.get(1));
- buildGraph(x,y,list);
- DFS(2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement