Zum Menü springen.

Übungsblatt 7: Maximum–Sub-Array, optimiert

Aufgabe 7-1*

Schreiben Sie eine weitere Methode zur Lösung des Maximum–Sub-Array–Problems. Ihre Lösung soll die Effizienz O(n) haben.

Aufgabe 7-2

Erweitern Sie die Klasse, die Ihre Lösung zu Aufgabe 7-2 enthält, zu einem ausführbaren Programm. Schreiben Sie dazu eine Methode mit der Signatur public static void main (String[]) zum Testen der Klasse.

Zusatzaufgabe 7-3

Bemerkenswert ist, dass die in der Vorlesung Algorithmen und Datenstrukturen 1 gezeigten Algorithmen zur Lösung des Maximum–Sub-Array–Problems allesamt lediglich die Summe des Ergebnisses berechnen. Das eigentlich benötigte Ergebnis ist aber natürlich der Sub-Array selbst.

Ein Array ist definiert durch seine Elemente, ein Sub-Array durch seine Grenzen und den gesamten Array. Die Grenzen können wahlweise entweder durch Beginn und Ende oder durch Start und Länge angegeben werden. Der durch die Klasse SubArray definierte Datentyp SubArray ist zur eindeutigen Definition eines Sub-Arrays geeignet.

Ändern Sie Ihre Lösung von Aufgabe 6-1 (naïves Verfahren) so ab, dass zusätzlich zur Summe die Grenzen des Sub-Arrays von der Methode zurückgegeben werden. Dazu muss statt der primitiven Datenstruktur int eine als Klasse definierte statische Datenstruktur der Rückgabetyp sein. Der Typ SubArray ist geeignet, andere Typen sind möglich.

$Id: HEADER.html,v 1.1 2008/06/04 14:29:32 aj3 Exp $
Icon  Name                                   Last modified      Size  Description
[DIR] Parent Directory - [HTM] HEADER.html 2023-10-11 10:00 2.3K [TXT] Loesung71.java 2023-10-11 10:00 1.4K [TXT] Loesung72.java 2023-10-11 10:00 869 [TXT] Loesung73.java 2023-10-11 10:00 2.4K [TXT] RandomisedArrayFactory.java 2023-10-11 10:00 5.7K [HTM] README.html 2023-10-11 10:00 961 [TXT] SubArray.java 2023-10-11 10:00 28K