|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface MaximumSubArraySolver
Schnittstelle fuer die Loesung des Maximum-Sub-Array--Problems.
Die folgende Klasse zeigt beispielhaft, wie der Rumpf einer Loesung aussehen koennte:
public class MsaProblemLoeser implements MaximumSubArraySolver {
public SubArray findMaximumSubArray (int[] array) {
SubArray ergebnis;
// Loesungs-Algorithmus hier
// (siehe Manuskript)
return ergebnis;
}
public static void main (String[] args) {
// Vorbereitung des Eingabewerts
int[] array = SubArray.createRandomArray();
// Berechnung des Ergebnisses
MsaProblemLoeser problemLoeser = new MsaProblemLoeser();
SubArray maximumSubArray = problemLoeser.findMaximumSubArray(array);
// Ausgabe des Ergebnisses
System.out.println(maximumSubArray);
System.out.println("Summe: ["+maximumSubArray.getSum()+"]");
}
}
SubArray
Method Summary | |
---|---|
SubArray |
findMaximumSubArray(int[] array)
Loest das Maximum-Sub-Array--Problem fuer den uebergebenen Array. |
Method Detail |
---|
SubArray findMaximumSubArray(int[] array)
Die Loesung ist genau diejenige Teilfolge des Gesamt-Arrays,
die von allen moeglichen Teilfolgen die hoechste Summe ihrer
Elemente aufweist. Der Gesamt-Array kann sowohl positive als
auch negative Zahlen beinhalten; die Implementierung muss dies
beruecksichtigen. Existieren nur negative Elemente, ist die
Teilfolge mit der hoechsten Summe die leere Teilfolge mit der
Summe null (0
).
Das Verhalten dieser Methode fuer array == null
ist nicht definiert.
array
- der fuer die Bestimmung der Problemloesung
heranzuziehende Gesamt-Array
SubArray
, deren Gesamt-Array identisch mit dem
dieser Methode uebergebenen array
ist und deren
Sub-Array--Definition derart ist, dass sie eine korrekte Loesung
des Maximum-Sub-Array--Problems darstellt.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |