• Keine Ergebnisse gefunden

Übung 6: Heap Abgabetermin: 02.05.2017

N/A
N/A
Protected

Academic year: 2022

Aktie "Übung 6: Heap Abgabetermin: 02.05.2017"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

 Übung Praktische Informatik 2 SS 2017 

Übung 6: Heap

Abgabetermin: 02.05.2017

Name: Matrikelnummer:

Gruppe: ​​☐ G1 ​Di 10:15-11:00 ​ ​ ​☐ G2 ​Di 11:00-11:45 ​☐ G3 ​Di 12:45-13:30

Aufgabe Punkte gelöst abzugeben schriftlich

abzugeben elektronisch

Korr. Punkte

Aufgabe 1 24 ☐ Java-Programm Projekt Archiv ☐

Aufgabe 1: Prioritätswarteschlangen Implementierung als Max-Heap (24 Punkte)

Implementieren Sie eine Prioritätswarteschlange für Java-Objekte mit einem ​Max-Heap. ​Implementieren Sie die mit ​TODO​markierten Methoden in den Klassen ArrayPriorityQueueundArrayPriorityQueueIterator. Die Klasse ​ArrayPriorityQueue ​repräsentiert eine ​Array ​basierte Implementierung eines Max-Heap.

Implementieren Sie für den Max-Heap die Methoden ​upHeap(int pos)unddownHeap(int pos)die, die Ordnungsrelation, des Heaps wieder herstellen. Zum Vergleich der Objekte verwenden Sie einen Comparator​, der der Klasse ​ArrayPriorityQueue ​im Konstruktor übergeben wird. Eine Beschreibung des Comparator ​Interfaces finden Sie in den Implementierungshinweisen. Die Schnittstelle der Warteschlange ist in der abstrakten Klasse ​PriorityQueue gegeben.

Abzugeben ist​: Projekt Archiv

Implementierungshinweise:

● Verwenden Sie das Vorgabeprojekt ​PI2_UE06.zip​.

● Fügen Sie Ihre Implementierung in den mit ​TODO markierten Teilen den Klassen ArrayPriorityQueue und ArrayPriorityQueueIterator ein.

● Lassen sie die erste Stelle des Arrays in der Klasse ​ArrayPriorityQueuefrei, um Indexberechnungen zu Vereinfachen.

● Für den Fall, dass das Storage-Array der Klasse ​ArrayPriorityQueue ​voll wird verwenden Sie Arrays.copyOf(Object[] original,int newLength)​ um eine neues Array doppelter Größe zu erzeugen.

● Ändern sie ​keine​​public Interfaces​ vorgegebener Skeleton Klassen.

● Verwenden Sie für die Implementierung der Vergleichsoperation für Objekte einen ​Comparator.

Das Comparator Interface definiert die Methode ​compare(Object obj1, Object obj2)welche die totale Ordnungsrelation zwischen zwei Objekten abbildet indem Sie einen ​int ​Wert zurückgibt.

Dabei kann die Methode 3 verschiedene Wertegruppen zurückgeben

○ Negative Zahl: Bedeutet, dass obj1 < (echt kleiner) obj2 ist.

○ Die Zahl 0: Bedeutet, dass obj1 == obj2 ist.

○ Positive Zahl: Bedeutet, dass obj2 > (echt größer) obj2 ist.

● Halten Sie sich an die ​Codierungsrichtlinien​ auf der Kurs Website.

Referenzen

ÄHNLICHE DOKUMENTE

Seiko Epson does not assume any liability of any kind arising out of any inaccuracies contained in this material or due to its application or use in any product or circuit and,

• If a customer has a problem that is not ready for a development tool or can not be developed by using the conventional design flow, EPSON supports the development of EPSON's

Besprechung Blatt 13 Graphalgorithmen Bin¨ arb¨ aume in einem Array Vorbereitung Fragen.. Fragen zu

By default, the Hawk supplies term power on all ports. At least one device on any nSSI or SCSI interconnect must supply term power to the terminators. There is no harm in

In C gelten die folgenden Präzedenzregeln nicht vollständig: [] Array und Funktion werden von links nach rechts abgearbeitet und haben Vorrang vor * Pointer/Dereferenzierung und

Die Schnittstelle ist durch die abstrakte Klasse Priority- Queue gegeben: offer fügt ein Zeichen ein; poll liefert das größte Zeichen und entfernt es; size liefert die Anzahl

Jeder Algorithmus zur Suche in sortierten Daten der Länge n benötigt im schlechtesten Fall Ω(log n) Vergleichsschritte.... Untere Schranke f ¨ur Suchen in

Jeder Algorithmus zur Suche in sortierten Daten der Länge n benötigt im schlechtesten Fall Ω(log n) Vergleichsschritte... Untere Schranke f ¨ur Suchen in