|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object Loesung41
public class Loesung41
Loesungsvorschlag fuer Aufgabe 4-1. Divide-and-Conquer--Loesung fuer das Maximum-Sub-Array--Problem mit O(n*log(n))-Komplexitaet.
Constructor Summary | |
---|---|
Loesung41()
|
Method Summary | |
---|---|
static int |
findMaximumSum(int[] array)
Loest das Maximum-Sub-Array--Problem fuer den uebergebenen Array im Divide-and-Conquer--Verfahren. |
protected static int |
findMaximumSum(int[] array,
int leftIndex,
int rightIndex)
Loest das Maximum-Sub-Array--Problem fuer den uebergebenen Sub-Array im Divide-and-Conquer--Verfahren. |
static void |
main(String[] args)
Treiber fuer Aufruf von der Kommandozeilenschnittstelle. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Loesung41()
Method Detail |
---|
public static int findMaximumSum(int[] array)
array
- der fuer die Bestimmung der Problemloesung
heranzuziehende Gesamt-Array
array
NullPointerException
- falls array == null
findMaximumSum(int[],int,int)
protected static int findMaximumSum(int[] array, int leftIndex, int rightIndex)
Der Sub-Array wird in zwei etwa gleich grosse Teile gesplittet, fuer die jeweils das Problem rekursiv geloest wird. Zusaetzlich wird diejenige maximale Teilsumme ermittelt, welche die Trennstelle ueberbrueckt. Diejenige dieser drei Teilsummen, die am hoechsten ist, wird zurueckgeliefert.
Dieser Divide-and-Conquer--Algorithmus laesst sich als easy-split, hard-join charakterisieren.
array
- der fuer die Bestimmung der Problemloesung
heranzuziehende Gesamt-ArrayleftIndex
- die linke Begrenzung des Sub-Arrays, fuer den
die maximale Teilsumme ermittelt werden sollrightIndex
- die rechte Begrenzung des Sub-Arrays, fuer den
die maximale Teilsumme ermittelt werden soll
NullPointerException
- falls array == null
ArrayIndexOutOfBoundsException
- falls die beiden Indizes
keine gueltigen und sinnvollen Array-Indizes sindpublic static void main(String[] args)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |