Uni-Konstanz Uni-Konstanz
Fachbereich Informatik und Informationswissenschaft   Grundpraktikum Informatik  
Wagner / Willhalm / Schulz

Teil I - Implementation von Priority Queues

  • Aufbauend auf dem Interface zentrale.priorityqueue.PriorityQueue sollen unten aufgeführte Priority Queues implementiert werden. Diese sollen in einer package gruppe.priorityqueue, wobei gruppe den Gruppennamen bezeichnet, zusammengefasst werden. Dazu wird im Projekt der Gruppe (siehe CVS) ein Verzeichnis priorityqueue angelegt und darin Klassen mit den Bezeichnungen, die in der unten aufgeführten Liste angegeben sind, erstellt.
    Als Beispiel geben wir die Implementation einer Linked List Priority Queue vor:
    «zentrale/priorityqueue/UnsortedListPQ.java»

  • Diese Priority Queues sollen ausgiebig getestet werden: Eine Test Suite führt für eine beliebige Priority Queue, die das obige Interface implementiert, Operationen in möglichst allen denkbaren und undenkbaren Kombinationen aus, und testet, ob diese korrekt ausgeführt wurden.


Die Priority Queues:

1. Linked List: UnsortedListPQ
[CLR90] Seite 204ff
[OW93] Seite 39ff
2. Sorted Linked List: SortedListPQ

3. d-Heap: HeapPQ
[CLR90] Seite 147ff
[OW93] Seite 114ff, Seite 418ff
4. Links-Baum: LeftistTreePQ
[OW93] Seite 425ff
5. Red-Black Tree: RedBlackTreePQ
[CLR90] Seite 263ff
[Me84] Seite 206ff
6. Binomial Heap: BinomialHeapPQ
[CLR90] Seite 400ff
[OW93] Seite 428ff
7. Fibonacci Heap: FibonacciHeapPQ
[CLR90] Seite 420ff
[OW93] Seite 435ff
8. Weak Heap

9. Bucket Queue

letzte Änderung: 19.07.2016