diff --git a/.idea/gradle.xml b/.idea/gradle.xml index ce1c62c7c60561be6b5a9bc9f115e8966e9e5a4a..f722030b99b897e95470b8f2c7dfee7cba5226c2 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,6 +5,7 @@ <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> <option name="externalProjectPath" value="$PROJECT_DIR$" /> + <option name="gradleJvm" value="openjdk-20" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> diff --git a/src/main/java/fr/univamu/graph/Main.java b/src/main/java/fr/univamu/graph/Main.java index 1841af9275e2d2572faf63d091288d1bfbf865fa..8fc4cffa9273acccb22aa4cb91f984be34f956f8 100644 --- a/src/main/java/fr/univamu/graph/Main.java +++ b/src/main/java/fr/univamu/graph/Main.java @@ -1,27 +1,46 @@ package fr.univamu.graph; import fr.univamu.graph.generators.ErdosRenyi; +import fr.univamu.graph.generators.Grid; import fr.univamu.graph.rootedtrees.RootedTree; import fr.univamu.graph.rootedtrees.RootedTreeAnalyser; import fr.univamu.graph.rootedtrees.TreeStats; import fr.univamu.graph.search.Search; +import java.util.List; + public class Main { public static void main(String[] argv) { - TreeStats stats = TreeStats.empty(); - for (int i = 0; i < 100; i++) { - UndirectedGraph graph = new ErdosRenyi(20,0.2).graph(); - Search search = Search.breadthFirstSearch(graph); - search.searchFrom(0); - if (search.edges().size() != 19) { - continue; - } - RootedTree tree = RootedTree.of(search.edges()); - stats = stats.add(RootedTreeAnalyser.statsOf(tree)); +// TreeStats stats = TreeStats.empty(); +// for (int i = 0; i < 100; i++) { +// UndirectedGraph graph = new ErdosRenyi(20,0.2).graph(); +// Search search = Search.breadthFirstSearch(graph); +// search.searchFrom(0); +// if (search.edges().size() != 19) { +// continue; +// } +// RootedTree tree = RootedTree.of(search.edges()); +// stats = stats.add(RootedTreeAnalyser.statsOf(tree)); +// } +// System.out.println(stats); + + UndirectedGraph graph = new Grid(3,2).graph(); + RootedTree primMinimumSpanningTree = Algorithms.primMST(graph); + RootedTree aldousBrodeSpanningTree = Algorithms.aldousBroderST(graph); + + System.out.println("\nGRAPH\n" + graph); + System.out.println("\nADJACENCIES"); + for (List<Edge> list : graph.adjacencies) { + System.out.println(list); } - System.out.println(stats); + + System.out.println("\nPRIM'S MINIMUM SPANNING TREE\n" + primMinimumSpanningTree); + + System.out.println("\nALDOUS BRODE'S SPANNING TREE\n" + aldousBrodeSpanningTree); + + } }