diff options
Diffstat (limited to 'src/dk.biks.bachelorizer/dk/biks/bachelorizer/Graph.java')
-rw-r--r-- | src/dk.biks.bachelorizer/dk/biks/bachelorizer/Graph.java | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Graph.java b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Graph.java index 0f5503e..627f5f7 100644 --- a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Graph.java +++ b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Graph.java @@ -68,8 +68,11 @@ public final class Graph { "\n\n%d disjoint choice sets collected:\n", s.size()); for (Set<Vertex> verticeSet: s) { - System.out.print("set(" + verticeSet.size() + "):"); - for (Vertex v: GraphAlgorithms.sortVertex(verticeSet)) { + System.out.print( + "set(" + verticeSet.size() + "):"); + for (Vertex v: + GraphAlgorithms.sortVertex(verticeSet) + ) { System.out.print(" " + v.toString()); } System.out.println(); @@ -141,7 +144,9 @@ public final class Graph { /// /// @param g Graph to inspect /// @return list of disjoint sets - public static ArrayList<Set<Vertex>> disjoint(final AbstractGraph g) { + public static ArrayList<Set<Vertex>> disjoint( + final AbstractGraph g + ) { // get all subject modules // @@ -157,7 +162,9 @@ public final class Graph { /// @param g Graph to inspect /// @param vip Ordered list of subject modules to prioritize /// @return List of sets of disjoint choices - public static ArrayList<Set<Vertex>> disjoint(final AbstractGraph g, final List<Vertex> vip) { + public static ArrayList<Set<Vertex>> disjoint( + final AbstractGraph g, final List<Vertex> vip + ) { ArrayList<Set<Vertex>> sets = new ArrayList<>(); // track done subject modules as extendable set @@ -204,7 +211,9 @@ public final class Graph { /// @param sets list of disjoint choices /// @param g choices as weights in graph /// @return groups of disjoint choices as a graph - public static AbstractGraph moduleGroups(final ArrayList<Set<Vertex>> sets, final AbstractGraph g) { + public static AbstractGraph moduleGroups( + final ArrayList<Set<Vertex>> sets, final AbstractGraph g + ) { AbstractGraph h = new AdjListGraph(); for (Set<Vertex> s: sets) { for (Set<Vertex> t: sets) { @@ -213,15 +222,18 @@ public final class Graph { } int sum = 0; for (Vertex v: s) { - // get num of students with this combination of modules. + + // students with this choice for (Vertex w: t) { - Integer weight = g.getWeight(v, w); + Integer weight = + g.getWeight(v, w); if (weight != null) { sum += weight; } } } - h.insertEdge(s.toString(), t.toString(), sum); + h.insertEdge( + s.toString(), t.toString(), sum); } } @@ -245,7 +257,9 @@ public final class Graph { /// @param g groups of disjoint choices as a graph /// @param v seed vertex within graph /// @return amount of students in consecutive slots - public static int solution(final AbstractGraph g, final Vertex v) { + public static int solution( + final AbstractGraph g, final Vertex v + ) { return GraphAlgorithms.pathLength( GraphAlgorithms.dijkstra(g, v)); } |