diff --git a/src/Traverse.java b/src/Traverse.java index 7945513..e3cd0cf 100644 --- a/src/Traverse.java +++ b/src/Traverse.java @@ -28,6 +28,32 @@ public static void main(String[] args) { v45.neighbors = new ArrayList<>(List.of(v23)); v23.neighbors = new ArrayList<>(List.of()); v67.neighbors = new ArrayList<>(List.of(v91)); + + Set> visited = new HashSet(); + dfs(v7); + System.out.println("*****************"); + dfs(v7); + + } + + public static void dfs(Vertex vertex){ + var visited = new HashSet>(); + dfs(vertex, visited); + } + + public static void dfs(Vertex vertex, Set> visited){ + if(vertex == null) return; + if(visited.contains(vertex)) return; + + visited.add(vertex); + + System.out.println(vertex.data); + + if(vertex.neighbors == null) return; + + for(var neighbors : vertex.neighbors){ + dfs(neighbors, visited); + } } }