Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Data Structures | Public Member Functions | Protected Member Functions | Protected Attributes
alib::FibonacciHeap< T, Comparator > Class Template Reference

#include <FibonacciHeap.h>

Collaboration diagram for alib::FibonacciHeap< T, Comparator >:
[legend]

Data Structures

struct  Node
 

Public Member Functions

 FibonacciHeap (Comparator comparator=Comparator())
 
 ~FibonacciHeap ()
 
void insert (const T &value)
 
const T & getMax () const
 
extractMax ()
 
void mergeWith (FibonacciHeap< T, Comparator > &&that)
 
size_t size () const
 

Protected Member Functions

void deleteTreeList (Node *head)
 
void mergeHeaps (Node *&max1, Node *&max2)
 
void consolidate ()
 
void linkTreeToNode (Node *node, Node *tree)
 

Protected Attributes

Nodem_max
 
size_t m_size
 
Comparator m_comparator
 

Constructor & Destructor Documentation

◆ FibonacciHeap()

template<typename T , typename Comparator = std::less < T >>
alib::FibonacciHeap< T, Comparator >::FibonacciHeap ( Comparator  comparator = Comparator ( ))
inline

◆ ~FibonacciHeap()

template<typename T , typename Comparator >
alib::FibonacciHeap< T, Comparator >::~FibonacciHeap

Member Function Documentation

◆ consolidate()

template<typename T , typename Comparator >
void alib::FibonacciHeap< T, Comparator >::consolidate
protected

◆ deleteTreeList()

template<typename T , typename Comparator >
void alib::FibonacciHeap< T, Comparator >::deleteTreeList ( Node head)
protected

◆ extractMax()

template<typename T , typename Comparator >
T alib::FibonacciHeap< T, Comparator >::extractMax

◆ getMax()

template<typename T , typename Comparator = std::less < T >>
const T & alib::FibonacciHeap< T, Comparator >::getMax ( ) const
inline

◆ insert()

template<typename T , typename Comparator >
void alib::FibonacciHeap< T, Comparator >::insert ( const T &  value)

◆ linkTreeToNode()

template<typename T , typename Comparator >
void alib::FibonacciHeap< T, Comparator >::linkTreeToNode ( Node node,
Node tree 
)
protected

◆ mergeHeaps()

template<typename T , typename Comparator >
void alib::FibonacciHeap< T, Comparator >::mergeHeaps ( Node *&  max1,
Node *&  max2 
)
protected

◆ mergeWith()

template<typename T , typename Comparator >
void alib::FibonacciHeap< T, Comparator >::mergeWith ( FibonacciHeap< T, Comparator > &&  that)

◆ size()

template<typename T , typename Comparator = std::less < T >>
size_t alib::FibonacciHeap< T, Comparator >::size ( ) const
inline

Field Documentation

◆ m_comparator

template<typename T , typename Comparator = std::less < T >>
Comparator alib::FibonacciHeap< T, Comparator >::m_comparator
protected

◆ m_max

template<typename T , typename Comparator = std::less < T >>
Node* alib::FibonacciHeap< T, Comparator >::m_max
protected

◆ m_size

template<typename T , typename Comparator = std::less < T >>
size_t alib::FibonacciHeap< T, Comparator >::m_size
protected

The documentation for this class was generated from the following file: