|
| RMHeap (const C &cmp=C(), int initialSize=-1) |
| Creates empty randomized meldable heap. More...
|
|
virtual | ~RMHeap () |
| Destructs the heap. More...
|
|
void | decrease (RMHeapNode< T > *heapNode, const T &value) override |
| Decreases value of the given heapNode to value . More...
|
|
void | merge (RMHeap< T, C > &other) override |
| Merges in values of other heap. More...
|
|
void | pop () override |
| Removes the top element from the heap. More...
|
|
RMHeapNode< T > * | push (const T &value) override |
| Inserts a new node with given value into a heap. More...
|
|
const T & | top () const override |
| Returns reference to the top element in the heap. More...
|
|
const T & | value (RMHeapNode< T > *heapNode) const override |
| Returns the value of the node. More...
|
|
| HeapBase (const std::less< T > &comp=std::less< T >()) |
|
virtual const std::less< T > & | comparator () const |
| Returns the comparator used to sort the values in the heap. More...
|
|
virtual void | decrease (Handle handle, const T &value)=0 |
| Decreases a single value. More...
|
|
virtual void | merge (RMHeap< T, std::less< T > > &other) |
| Merges in values of other heap. More...
|
|
virtual const T & | top () const=0 |
| Returns the topmost value in the heap. More...
|
|
virtual const T & | value (const Handle handle) const=0 |
| Returns the value of that handle. More...
|
|
template<typename T, typename C = std::less<T>>
class ogdf::RMHeap< T, C >
Randomized meldable heap implementation.
Code of meld (also known as merge) operation is solely based on Wikipedia article. Other methods are based on my intuitions and make use of melding.
For random number generation it uses default generator provided by the C++11 standard. In the future, it should be possible to provide custom random device, generator and seed.
- Template Parameters
-
T | Denotes value type of inserted elements. |
C | Denotes comparison functor determining value ordering. |
Definition at line 75 of file RMHeap.h.