Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3.  
  4. public class Graph
  5. {
  6. int V;
  7. LinkedList<Integer> list[];
  8.  
  9. Graph(int V){
  10. this.V=V;
  11. list=new LinkedList[V];
  12. for(int i=0;i<V;i++){
  13. list[i]=new LinkedList<Integer>();
  14. }
  15. }
  16.  
  17. public void addedge(int x,int y)
  18. {
  19. list[x].addFirst(y);
  20. }
  21.  
  22. public void printgraph(){
  23. for (int i = 0; i <V ; i++) {
  24. LinkedList<Integer> nlist = list[i];
  25. if(nlist.isEmpty()==false) {
  26. System.out.print("source = " + i + " => ");
  27. for (int j = 0; j < nlist.size(); j++) {
  28. System.out.print(" " + nlist.get(j));
  29. }
  30. }
  31. System.out.println();
  32. }
  33. }
  34.  
  35.  
  36. public void DFSrec(){
  37. boolean visited[] = new boolean [V];
  38.  
  39. for(int i=0;i<V;i++)
  40. {
  41. if(!visited[i]){
  42. dfs(i,visited);
  43. }
  44. }
  45. }
  46.  
  47. public void dfs(int v, boolean visited[])
  48. {
  49. visited[v] = true;
  50. System.out.print(v+" ");
  51. for(int i=0;i<list[v].size();i++)
  52. {
  53. int V = list[v].get(i);
  54. if(!visited[V])
  55. dfs(V,visited);
  56. }
  57. }
  58.  
  59. public static void main(String [] args){
  60. Graph g = new Graph(7);
  61. g.addedge(1,3);
  62. g.addedge(2,3);
  63. g.addedge(0,4);
  64. g.addedge(4,5);
  65. g.addedge(5,6);
  66. g.printgraph();
  67. g.DFSrec();
  68. }
  69. }
  70. /* solution */
  71.  
  72. /*
  73. Finished in 60 ms
  74. source = 0 => 4
  75. source = 1 => 3
  76. source = 2 => 3
  77.  
  78. source = 4 => 5
  79. source = 5 => 6
  80.  
  81. 0 4 5 6 1 3 2
  82.  
  83. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement