• Keine Ergebnisse gefunden

Heapsort, Listsort, Effizienztest (3, 9, 9, 3 Punkte)

N/A
N/A
Protected

Academic year: 2022

Aktie "Heapsort, Listsort, Effizienztest (3, 9, 9, 3 Punkte)"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übungen zu Praktische Informatik: Datenstrukturen SS 2005 Übung 6

Name: Tutor:

Matrikelnummer: Punkte:

Gruppe: Abgabe: Di, 21. 6. 2005

Heapsort, Listsort, Effizienztest (3, 9, 9, 3 Punkte)

Theorie (3 Punkte)

Beschreiben Sie, wie man von einem beliebigen Array zu einem Heap kommt. Zeigen Sie ein kleines Beispiel und skizzieren Sie den Ablauf im Baum und Array.

Praxis (9+9 Punkte)

Implementieren Sie den Heap- und List-Sortalgorithmus in der Klasse SortUtil. Verändern Sie keine öffentlichen Schnittstellen vorgegebener Klassen! Sie können aber selbstverständlich private Hilfs-Methoden und -Variablen einführen.

Schnittstellen der zu implementierenden Methoden Heapsort: public static void heapSort(Comparable[] arr)

Listsort: public static ComparableListNode listSort(ComparableListNode list)

Beschreibung der zu implementierenden Methoden

heapSort soll das übergebene Array mit Hilfe des Heapsort-Algorithmus sortieren. Es soll möglich sein mit dieser Methode beliebige Arrays aufsteigend zu sortieren, die das Comparable-Interface implementieren (siehe Java Dokumentation, z.B. unter:

http://www.ssw.uni-linz.ac.at/Services/Docs/JDK/api/index.html). Die konkrete im Test verwendete Klasse ist Node.

listSort soll die ihr übergebene Liste aufsteigend sortieren, als Voraussetzung müssen die Listenknoten vom Typ ComparableListNode sein. Das Interface ComparableListNode bietet die Methoden ComparableListNode getNext() und setNext(ComparableListNode next) an, außerdem erbt es int compareTo(Object o) von Comparable. Test und Provider verwenden ListNode als konkrete Klasse.

Test (3 Punkte)

Testen Sie die Funktionalität ihrer Implementierung mit Hilfe der gegebenen Test-Klasse.

Vergleichen Sie die Geschwindigkeit der Algorithmen mit verschieden langen Datenreihen (z.B.: 20, 500, 1000). Um die Längen der verwendeten Datenreihen im Performanztest zu ändern, verändern Sie die Konstanten PERF_LIST_LENGTH für Listsort und PERF_HEAP_LENGTH für Heapsort der Klasse Test. Fassen Sie ihre Performanz-Ergebnisse in einer Tabelle zusammen. (Anmerkung: Bei kurzen Datenreihen kann das Ergebnis negativ sein, das ist ein Messfehler der durch verschiedene Hintergrundaktivität entsteht. Solche Testergebnisse stellen kein Problem dar.)

Referenzen

ÄHNLICHE DOKUMENTE

13: Der als "Ausladung" charakteristische Gebäudevorsprung wird wegen seiner Bequemlichkeit als Auslug und Plauderplätzchen schon 1560 eigens mit vier

Aehnliche Resultate, wenige Minuten um Null schwankend, wurden durch Wiederholung gefunden, wir dürfen daher das Instrument in Bezug auf Parallelität des Fernrohrs mit

[JIRA DCDA CTSA RISA.. TXCEJ

Moderne Gefässmedizin im stationären Alltag ist eine ausgesprochen interdisziplinäre Angelegenheit. Diagnostik als auch Behandlung der Arterien, Ve- nen-

2, Исследовано влияние полярности среды на скорость гидролиза двуядерных ароматических сульфохлоридов и установ­. лено, что при переходе от 70% к 20%

[r]

Sabine Barthelmes, Diplomierte Legasthenietrainerin  , Training OS Seite 2.. 0DPD 2PD 0DPL 2PL

205 11.4.2 Ergebnisse für k t Copo aus chemisch mit AIBN