From ee2867376632cf29496b0f495b9e106bc95c577a Mon Sep 17 00:00:00 2001 From: buzz-dee Date: Thu, 27 Jan 2011 23:14:04 +0100 Subject: [PATCH] method bottleNecks completed --- DiePaten.java | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/DiePaten.java b/DiePaten.java index 0c56af6..60caa92 100644 --- a/DiePaten.java +++ b/DiePaten.java @@ -41,7 +41,7 @@ protected void handle_flow() { System.err.println("flow"); Edge nextEdge = null; - nextEdge = bottleNecks(); + //nextEdge = bottleNecks(); // nextEdge=maxcapacity(); // Send final reply indicating that we won't change our mind any more. @@ -49,16 +49,17 @@ protected void handle_flow() { } - // Engstellen im Graphen finden - // Kapazitaeten auf eins setzten und dann den Mincut finden - private Edge bottleNecks() { - Edge nextEdge = null; - int zero = 0; - int groesse = this.capacityMatrix.length; - int tempMatrix[][] = new int[groesse][groesse]; + /** + * method to find the bottlenecks in the graph. every edge is set to 1 before + * @return nextEges, the list with the bottlenecks-edges + */ + private ArrayList bottleNecks() { + ArrayList nextEdges = null; + + int tempMatrix[][] = new int[size][size]; - for (int l = 0; l < groesse; l++) { - for (int k = 0; k < groesse; k++) { + for (int l = 0; l < size; l++) { + for (int k = 0; k < size; k++) { int temp = Integer.parseInt(capacityMatrix[l][k]); if (temp > 0 && adjacencyMatrix[l][k] == UNSELECTED_EDGE) { tempMatrix[l][k] = 1; @@ -66,11 +67,12 @@ private Edge bottleNecks() { tempMatrix[l][k] = 0; } } - } + } //tempMatrix, getMincut + nextEdges = minCut(); - return nextEdge; + return nextEdges; } private Edge maxcapacity() { @@ -166,6 +168,7 @@ public ArrayList sinkSet() { return sink_Set; } + /** * determine the edges from source_set to sink_set * @return the min-cut