From 28b83b39e3f4fe49059c4895a22b7917bde06d7e Mon Sep 17 00:00:00 2001 From: Jacob Woodbury Date: Tue, 20 May 2025 11:40:19 -0700 Subject: [PATCH] inClass --- src/Traverse.java | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/Traverse.java b/src/Traverse.java index 7945513..e4f170b 100644 --- a/src/Traverse.java +++ b/src/Traverse.java @@ -28,6 +28,40 @@ 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)); + + printGraph(v3); + System.out.println("sum:" + sum(v3)); } -} + public static int sum(Vertex current){ + Set> visited = new HashSet<>(); + return sum(current, visited); + } + public static int sum(Vertex vertex, Set> visited){ + if(vertex == null || visited.contains(vertex)) return 0; + int total = 0; + total+= vertex.data; + visited.add(vertex); + for(Vertex neighbor : vertex.neighbors){ + total += sum(neighbor, visited); + } + return total; + } + + + public static void printGraph(Vertex vertex){ + Set> visited = new HashSet<>(); + printGraph(vertex, visited); + } + public static void printGraph(Vertex vertex, Set> visited){ + if(vertex == null || visited.contains(vertex)) return; + + System.out.println(vertex.data); + visited.add(vertex); + for(Vertex neighbor : vertex.neighbors){ + printGraph(neighbor, visited); + } + + + } +} \ No newline at end of file