All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Files
Heap Structures
Data Structures

Detailed Description

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.

See Also
Heap concept

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.