Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Concepts
Data Structures | Public Member Functions | Protected Member Functions | Protected Attributes
alib::BinomialHeap< T, Comparator > Class Template Reference

#include <BinomialHeap.h>

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

Data Structures

struct  Node
 

Public Member Functions

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

Protected Member Functions

void deleteTreeList (Node *head)
 
Node ** searchMax (Node **head) const
 
NodemergeHeaps (Node *head1, Node *head2)
 
NodemergeListsByDeg (Node *head1, Node *head2)
 
NodereverseList (Node *head)
 
NodelinkTreeToTree (Node *root1, Node *root2)
 

Protected Attributes

Nodem_head
 
size_t m_size
 
Comparator m_comparator
 

Constructor & Destructor Documentation

◆ BinomialHeap()

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

◆ ~BinomialHeap()

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

Member Function Documentation

◆ deleteTreeList()

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

◆ extractMax()

template<typename T , typename Comparator >
T alib::BinomialHeap< T, Comparator >::extractMax
Here is the call graph for this function:

◆ getMax()

template<typename T , typename Comparator = std::less < T >>
const T & alib::BinomialHeap< T, Comparator >::getMax ( ) const
inline
Here is the call graph for this function:

◆ insert()

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

◆ linkTreeToTree()

template<typename T , typename Comparator >
BinomialHeap< T, Comparator >::Node * alib::BinomialHeap< T, Comparator >::linkTreeToTree ( Node root1,
Node root2 
)
protected

◆ mergeHeaps()

template<typename T , typename Comparator >
BinomialHeap< T, Comparator >::Node * alib::BinomialHeap< T, Comparator >::mergeHeaps ( Node head1,
Node head2 
)
protected

◆ mergeListsByDeg()

template<typename T , typename Comparator >
BinomialHeap< T, Comparator >::Node * alib::BinomialHeap< T, Comparator >::mergeListsByDeg ( Node head1,
Node head2 
)
protected

◆ mergeWith()

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

◆ reverseList()

template<typename T , typename Comparator >
BinomialHeap< T, Comparator >::Node * alib::BinomialHeap< T, Comparator >::reverseList ( Node head)
protected

◆ searchMax()

template<typename T , typename Comparator >
BinomialHeap< T, Comparator >::Node ** alib::BinomialHeap< T, Comparator >::searchMax ( Node **  head) const
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ size()

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

Field Documentation

◆ m_comparator

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

◆ m_head

template<typename T , typename Comparator = std::less < T >>
Node* alib::BinomialHeap< T, Comparator >::m_head
protected

◆ m_size

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

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