From f49e231fa341a241696fb8e5f84bab30dfab95d7 Mon Sep 17 00:00:00 2001 From: Luigi Santocanale <luigi.santocanale@lif.univ-mrs.fr> Date: Mon, 20 Nov 2023 17:54:48 +0100 Subject: [PATCH] Renamed some methods, added explanations --- src/Graph/Graph.java | 47 ++++++++++++++------- src/Main.java | 2 +- src/RandomTreeAlgos/BreadthFirstSearch.java | 2 +- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/Graph/Graph.java b/src/Graph/Graph.java index 36dd396..e9fd291 100644 --- a/src/Graph/Graph.java +++ b/src/Graph/Graph.java @@ -10,40 +10,55 @@ public class Graph { // pour pouvoir stocker un arbre couvrant, en plus du graphe public int order; + public int upperBound; int edgeCardinality; - ArrayList<LinkedList<Edge>> adjacency; - ArrayList<LinkedList<Arc>> inAdjacency; - ArrayList<LinkedList<Arc>> outAdjacency; + ArrayList<LinkedList<Edge>> incidency; + ArrayList<LinkedList<Arc>> inIncidency; + ArrayList<LinkedList<Arc>> outIncidency; public Graph(int upperBound) { - // à remplir + // Au début, upperBound==order + // Ensuite, on pourrait retirer des sommets du graphe. + // Ainsi, on pourrait avoir upperBound > order + // Cette modification de la classe devient nécessaire + // si vous implémentez la contraction d’arêtes + // Autrement, on pourra asssumer que upperBound==order. + + // à compléter } - public boolean isVertex(int index) { - // à remplir + public boolean isVertex(int vertex) { + // à compléter return true; } - public void addVertex(int indexVertex) { - // à remplir + public void addVertex(int vertex) { + // à compléter + } + + public void deleteVertex(int vertex){ + // à compléter } - public void ensureVertex(int indexVertex) { - // à remplir + public void ensureVertex(int vertex) { + // à compléter } public void addArc(Arc arc) { - // à remplir + // à compléter } - public void addEdge(Edge e) { - // à remplir + public void addEdge(Edge edge) { + // à compléter } - public Arc[] outNeighbours(int sommet) { - // à remplir - return outAdjacency.get(sommet).toArray(new Arc[0]); + public Arc[] outEdges(int vertex) { + // à modifier, si nécessaire + + // Pour la prochaine ligne voir + // https://www.baeldung.com/java-collection-toarray-methods + return outIncidency.get(vertex).toArray(new Arc[0]); } } diff --git a/src/Main.java b/src/Main.java index 1078a33..741f059 100644 --- a/src/Main.java +++ b/src/Main.java @@ -36,7 +36,7 @@ public class Main { private static Graph chooseFromGraphFamily() { // Parametriser ici cette fonction afin de pouvoir choisir - // quelle classe de graohe utiliser + // quelle classe de graphe utiliser grid = new Grid(1920 / 11, 1080 / 11); Graph graph = grid.graph; diff --git a/src/RandomTreeAlgos/BreadthFirstSearch.java b/src/RandomTreeAlgos/BreadthFirstSearch.java index e2ec574..f357e68 100644 --- a/src/RandomTreeAlgos/BreadthFirstSearch.java +++ b/src/RandomTreeAlgos/BreadthFirstSearch.java @@ -14,7 +14,7 @@ public class BreadthFirstSearch { BitSet reached; private void push(int vertex) { - for (Arc arc : graph.outNeighbours(vertex)) frontier.offer(arc); + for (Arc arc : graph.outEdges(vertex)) frontier.offer(arc); } private void explore(Arc nextArc) { -- GitLab