diff --git a/Gvisual/src/gvisual/CycleAnalyzer.java b/Gvisual/src/gvisual/CycleAnalyzer.java index 40379bc..16e3c6a 100644 --- a/Gvisual/src/gvisual/CycleAnalyzer.java +++ b/Gvisual/src/gvisual/CycleAnalyzer.java @@ -2,7 +2,6 @@ import edu.uci.ics.jung.graph.DirectedSparseGraph; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; diff --git a/Gvisual/src/gvisual/EulerianPathAnalyzer.java b/Gvisual/src/gvisual/EulerianPathAnalyzer.java index d9b272b..6b0e7fd 100644 --- a/Gvisual/src/gvisual/EulerianPathAnalyzer.java +++ b/Gvisual/src/gvisual/EulerianPathAnalyzer.java @@ -1,7 +1,6 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedGraph; import java.util.*; diff --git a/Gvisual/src/gvisual/FeedbackVertexSetAnalyzer.java b/Gvisual/src/gvisual/FeedbackVertexSetAnalyzer.java index 6a9d46f..a38448f 100644 --- a/Gvisual/src/gvisual/FeedbackVertexSetAnalyzer.java +++ b/Gvisual/src/gvisual/FeedbackVertexSetAnalyzer.java @@ -1,7 +1,6 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import edu.uci.ics.jung.graph.DirectedSparseGraph; import java.util.*; diff --git a/Gvisual/src/gvisual/ForceDirectedLayout.java b/Gvisual/src/gvisual/ForceDirectedLayout.java index d4f70cf..47d2eb6 100644 --- a/Gvisual/src/gvisual/ForceDirectedLayout.java +++ b/Gvisual/src/gvisual/ForceDirectedLayout.java @@ -506,7 +506,7 @@ public double computeStress() { Map> shortestPaths = new HashMap>(); for (String v : vertexList) { - shortestPaths.put(v, bfsDistances(v)); + shortestPaths.put(v, GraphUtils.bfsDistances(graph, v)); } double stress = 0; @@ -762,14 +762,4 @@ private boolean onSegment(double[] p, double[] q, double[] r) { r[1] <= Math.max(p[1], q[1]) && r[1] >= Math.min(p[1], q[1]); } - private Map bfsDistances(String start) { - return GraphUtils.bfsDistances(graph, start); - } - - private String escapeXml(String s) { - return s.replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\"", """); - } } diff --git a/Gvisual/src/gvisual/GraphAnnotationManager.java b/Gvisual/src/gvisual/GraphAnnotationManager.java index 1de70fd..657e201 100644 --- a/Gvisual/src/gvisual/GraphAnnotationManager.java +++ b/Gvisual/src/gvisual/GraphAnnotationManager.java @@ -3,7 +3,6 @@ import edu.uci.ics.jung.graph.Graph; import java.io.*; import java.util.*; -import java.util.stream.Collectors; /** * Manages annotations (notes, tags, colors) on graph nodes and edges diff --git a/Gvisual/src/gvisual/GraphCompressor.java b/Gvisual/src/gvisual/GraphCompressor.java index 07817e5..352a646 100644 --- a/Gvisual/src/gvisual/GraphCompressor.java +++ b/Gvisual/src/gvisual/GraphCompressor.java @@ -4,7 +4,6 @@ import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; -import java.util.stream.Collectors; /** * Compresses a graph by merging groups of nodes into supernodes, diff --git a/Gvisual/src/gvisual/GraphDistanceDistribution.java b/Gvisual/src/gvisual/GraphDistanceDistribution.java index a5aa825..2c5d875 100644 --- a/Gvisual/src/gvisual/GraphDistanceDistribution.java +++ b/Gvisual/src/gvisual/GraphDistanceDistribution.java @@ -2,7 +2,6 @@ import edu.uci.ics.jung.graph.Graph; import java.util.*; -import java.util.stream.Collectors; /** * Analyses the all-pairs shortest-path distance distribution of a graph, diff --git a/Gvisual/src/gvisual/GraphMinorAnalyzer.java b/Gvisual/src/gvisual/GraphMinorAnalyzer.java index eb23183..e1ffccc 100644 --- a/Gvisual/src/gvisual/GraphMinorAnalyzer.java +++ b/Gvisual/src/gvisual/GraphMinorAnalyzer.java @@ -3,7 +3,6 @@ import edu.uci.ics.jung.graph.Graph; import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; -import java.util.stream.Collectors; /** * Graph Minor Analyzer — operations and analysis based on graph minor theory. diff --git a/Gvisual/src/gvisual/GraphNetworkProfiler.java b/Gvisual/src/gvisual/GraphNetworkProfiler.java index e02697c..6d71a91 100644 --- a/Gvisual/src/gvisual/GraphNetworkProfiler.java +++ b/Gvisual/src/gvisual/GraphNetworkProfiler.java @@ -241,7 +241,7 @@ private void computeDiameter(int n) { Collections.shuffle(vertices, random); int maxDist = 0; for (int i = 0; i < samples; i++) { - Map dist = bfs(vertices.get(i)); + Map dist = GraphUtils.bfsDistances(graph, vertices.get(i)); for (int d : dist.values()) { if (d > maxDist) maxDist = d; } @@ -276,7 +276,7 @@ private void computeComponents(int n) { int largestSize = 0; for (String v : graph.getVertices()) { if (!visited.contains(v)) { - Map dist = bfs(v); + Map dist = GraphUtils.bfsDistances(graph, v); visited.addAll(dist.keySet()); count++; if (dist.size() > largestSize) largestSize = dist.size(); @@ -293,7 +293,7 @@ private void computeAvgPathLength(int n) { long totalDist = 0; long pairCount = 0; for (int i = 0; i < samples; i++) { - Map dist = bfs(vertices.get(i)); + Map dist = GraphUtils.bfsDistances(graph, vertices.get(i)); for (int d : dist.values()) { if (d > 0) { totalDist += d; pairCount++; } } @@ -571,25 +571,6 @@ private void setEmptyDefaults() { overallScore = 0; } - // ── BFS helper ────────────────────────────────────────────── - - private Map bfs(String source) { - Map dist = new HashMap<>(); - Queue queue = new LinkedList<>(); - dist.put(source, 0); - queue.add(source); - while (!queue.isEmpty()) { - String v = queue.poll(); - int d = dist.get(v); - for (String neighbor : graph.getNeighbors(v)) { - if (!dist.containsKey(neighbor)) { - dist.put(neighbor, d + 1); - queue.add(neighbor); - } - } - } - return dist; - } // ── Public getters ────────────────────────────────────────── diff --git a/Gvisual/src/gvisual/GraphResilienceAnalyzer.java b/Gvisual/src/gvisual/GraphResilienceAnalyzer.java index 5a69c31..fc5f8ad 100644 --- a/Gvisual/src/gvisual/GraphResilienceAnalyzer.java +++ b/Gvisual/src/gvisual/GraphResilienceAnalyzer.java @@ -1,7 +1,6 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; /** diff --git a/Gvisual/src/gvisual/GraphSymmetryAnalyzer.java b/Gvisual/src/gvisual/GraphSymmetryAnalyzer.java index 7c71ccd..e6371f1 100644 --- a/Gvisual/src/gvisual/GraphSymmetryAnalyzer.java +++ b/Gvisual/src/gvisual/GraphSymmetryAnalyzer.java @@ -2,7 +2,6 @@ import edu.uci.ics.jung.graph.Graph; import java.util.*; -import java.util.stream.Collectors; /** * Analyses the symmetry structure of a graph by computing automorphism orbits, diff --git a/Gvisual/src/gvisual/IndependentSetAnalyzer.java b/Gvisual/src/gvisual/IndependentSetAnalyzer.java index 1c586e3..92ae0d8 100644 --- a/Gvisual/src/gvisual/IndependentSetAnalyzer.java +++ b/Gvisual/src/gvisual/IndependentSetAnalyzer.java @@ -4,7 +4,6 @@ import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; -import java.util.stream.Collectors; /** * Independent set analysis for undirected graphs. diff --git a/Gvisual/src/gvisual/SignedGraphAnalyzer.java b/Gvisual/src/gvisual/SignedGraphAnalyzer.java index 7909973..2fd1509 100644 --- a/Gvisual/src/gvisual/SignedGraphAnalyzer.java +++ b/Gvisual/src/gvisual/SignedGraphAnalyzer.java @@ -1,10 +1,8 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; -import java.util.stream.Collectors; /** * Signed graph analysis based on structural balance theory. diff --git a/Gvisual/src/gvisual/SmallWorldAnalyzer.java b/Gvisual/src/gvisual/SmallWorldAnalyzer.java index 96d5962..71a839a 100644 --- a/Gvisual/src/gvisual/SmallWorldAnalyzer.java +++ b/Gvisual/src/gvisual/SmallWorldAnalyzer.java @@ -1,7 +1,6 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; diff --git a/Gvisual/src/gvisual/SteinerTreeAnalyzer.java b/Gvisual/src/gvisual/SteinerTreeAnalyzer.java index 2e900e7..d909c52 100644 --- a/Gvisual/src/gvisual/SteinerTreeAnalyzer.java +++ b/Gvisual/src/gvisual/SteinerTreeAnalyzer.java @@ -1,7 +1,6 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; import java.util.stream.Collectors; diff --git a/Gvisual/src/gvisual/SubgraphExtractor.java b/Gvisual/src/gvisual/SubgraphExtractor.java index a0094ab..ab92de7 100644 --- a/Gvisual/src/gvisual/SubgraphExtractor.java +++ b/Gvisual/src/gvisual/SubgraphExtractor.java @@ -6,7 +6,6 @@ import java.io.*; import java.nio.charset.StandardCharsets; import java.util.*; -import java.util.stream.Collectors; /** * Extracts focused subgraphs from a larger network based on flexible criteria. diff --git a/Gvisual/src/gvisual/TemporalGraph.java b/Gvisual/src/gvisual/TemporalGraph.java index b3a39ca..d33d1f3 100644 --- a/Gvisual/src/gvisual/TemporalGraph.java +++ b/Gvisual/src/gvisual/TemporalGraph.java @@ -3,7 +3,6 @@ import edu.uci.ics.jung.graph.Graph; import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; -import java.util.stream.Collectors; /** * A lightweight wrapper around a JUNG graph that provides time-windowed views diff --git a/Gvisual/src/gvisual/TournamentAnalyzer.java b/Gvisual/src/gvisual/TournamentAnalyzer.java index 0d369ef..52e734b 100644 --- a/Gvisual/src/gvisual/TournamentAnalyzer.java +++ b/Gvisual/src/gvisual/TournamentAnalyzer.java @@ -1,10 +1,8 @@ package gvisual; -import edu.uci.ics.jung.graph.DirectedSparseGraph; import edu.uci.ics.jung.graph.Graph; import java.util.*; -import java.util.stream.Collectors; /** * Tournament graph analyzer for directed complete graphs. diff --git a/Gvisual/src/gvisual/TreeAnalyzer.java b/Gvisual/src/gvisual/TreeAnalyzer.java index 76ecd7f..e97f579 100644 --- a/Gvisual/src/gvisual/TreeAnalyzer.java +++ b/Gvisual/src/gvisual/TreeAnalyzer.java @@ -1,7 +1,6 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; diff --git a/Gvisual/src/gvisual/TreewidthAnalyzer.java b/Gvisual/src/gvisual/TreewidthAnalyzer.java index cb487c2..0335c4f 100644 --- a/Gvisual/src/gvisual/TreewidthAnalyzer.java +++ b/Gvisual/src/gvisual/TreewidthAnalyzer.java @@ -1,7 +1,6 @@ package gvisual; import edu.uci.ics.jung.graph.Graph; -import edu.uci.ics.jung.graph.UndirectedSparseGraph; import java.util.*; import java.util.stream.Collectors;