|
|
|
| Description |
Prioritaetswarteschlangen ueber sog. Pairing Heaps.
Siehe dazu auch http://www.cise.ufl.edu/~sahni/dsaaj/enrich/c13/pairing.htm
sowie Chris Okasaki, "Purely Functional Data Structures", Cambridge University Press.
Wir verwenden die Begriffe Priority Queue und Heap hier synonym.
Implementierung: Dennis Walter, 2010-12-06
|
|
| Synopsis |
|
|
|
| Documentation |
|
| data PriorityQueue k a |
| Ein Heap ist einfach ein binaerer Baum, der zu jedem Element eine Prioritaet
enthaelt.
| Instances | |
|
|
| empty :: Ord k => PriorityQueue k a |
| Liefert einen leeren Heap.
|
|
| null :: Ord k => PriorityQueue k a -> Bool |
| Testet auf den leeren Heap
|
|
| singleton :: Ord k => k -> a -> PriorityQueue k a |
| Einen einelementigen Heap erzeugen.
|
|
| insert :: Ord k => k -> a -> PriorityQueue k a -> PriorityQueue k a |
| Einen Wert mit seiner Prioritaet einfuegen.
|
|
| minKeyValue :: Ord k => PriorityQueue k a -> (k, a) |
| Rueckgabe der kleinsten Prioritaet (zu verstehen als hoechste Prioritaet)
und des dazugehoerigen Wertes.
|
|
| deleteMin :: Ord k => PriorityQueue k a -> PriorityQueue k a |
| Das Element mit der hoechsten Prioritaet aus dem Heap entfernen.
|
|
| fromList :: Ord k => [(k, a)] -> PriorityQueue k a |
| Einen Heap aus einer Liste erzeugen.
|
|
| toList :: Ord k => PriorityQueue k a -> [(k, a)] |
| Einen Heap in einer Liste umwandeln.
|
|
| Produced by Haddock version 2.6.1 |