This group contains the heap structures implemented in LEMON.
LEMON provides several heap classes. They are efficient implementations of the abstract data type priority queue. They store items with specified values called priorities in such a way that finding and removing the item with minimum priority are efficient. The basic operations are adding and erasing items, changing the priority of an item, etc.
Heaps are crucial in several algorithms, such as Dijkstra and Prim. The heap implementations have the same interface, thus any of them can be used easily in such algorithms.
Classes | |
class | BinHeap< PR, IM, CMP > |
Binary heap data structure. More... | |
class | BinomialHeap< PR, IM, CMP > |
Binomial heap data structure. More... | |
class | BucketHeap< IM, MIN > |
Bucket heap data structure. More... | |
class | SimpleBucketHeap< IM, MIN > |
Simplified bucket heap data structure. More... | |
class | DHeap< PR, IM, D, CMP > |
D-ary heap data structure. More... | |
class | FibHeap< PR, IM, CMP > |
Fibonacci heap data structure. More... | |
class | PairingHeap< PR, IM, CMP > |
Pairing Heap. More... | |
class | QuadHeap< PR, IM, CMP > |
Fourary (quaternary) heap data structure. More... | |
class | RadixHeap< IM > |
Radix heap data structure. More... | |
class | RadixHeap< IM >::PriorityUnderflowError |
Exception thrown by RadixHeap. More... | |
Files | |
file | bin_heap.h |
Binary heap implementation. | |
file | binomial_heap.h |
Binomial Heap implementation. | |
file | bucket_heap.h |
Bucket heap implementation. | |
file | dheap.h |
D-ary heap implementation. | |
file | fib_heap.h |
Fibonacci heap implementation. | |
file | pairing_heap.h |
Pairing heap implementation. | |
file | quad_heap.h |
Fourary (quaternary) heap implementation. | |
file | radix_heap.h |
Radix heap implementation. | |