vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FibonacciHeap< _NodeClass, _keyType > Class Template Reference

#include <Heaps.h>

Inheritance diagram for FibonacciHeap< _NodeClass, _keyType >:
GenericHeap< _NodeClass, _keyType >

Classes

class  FibonacciHeapNode
 

Public Member Functions

 FibonacciHeap (void)
 
 ~FibonacciHeap (void)
 
virtual void Insert (_NodeClass *node)
 
virtual _NodeClass * ExtractMin (void)
 
virtual void DecreaseKey (_NodeClass *node, _keyType value)
 
virtual _NodeClass * GetMin (void)
 
virtual _NodeClass * Delete (_NodeClass *node)
 
virtual void Union (FibonacciHeap< _NodeClass, _keyType > *heap)
 
virtual void FreeAllNodes ()
 
virtual bool IsEmpty ()
 

Protected Member Functions

void Consolidate (void)
 
void Link (_NodeClass *child, _NodeClass *parent)
 
virtual void Cut (_NodeClass *node1, _NodeClass *node2)
 
virtual void CascadingCut (_NodeClass *node)
 
void FreeNodeSimple (_NodeClass *node)
 

Protected Attributes

_NodeClass * head
 
_NodeClass * min
 

Constructor & Destructor Documentation

template<class _NodeClass, class _keyType>
FibonacciHeap< _NodeClass, _keyType >::FibonacciHeap ( void  )
template<class _NodeClass, class _keyType>
FibonacciHeap< _NodeClass, _keyType >::~FibonacciHeap ( void  )

Member Function Documentation

template<class _NodeClass, class _keyType>
virtual void FibonacciHeap< _NodeClass, _keyType >::CascadingCut ( _NodeClass *  node)
protectedvirtual
template<class _NodeClass, class _keyType>
void FibonacciHeap< _NodeClass, _keyType >::Consolidate ( void  )
protected
template<class _NodeClass, class _keyType>
virtual void FibonacciHeap< _NodeClass, _keyType >::Cut ( _NodeClass *  node1,
_NodeClass *  node2 
)
protectedvirtual
template<class _NodeClass, class _keyType>
virtual void FibonacciHeap< _NodeClass, _keyType >::DecreaseKey ( _NodeClass *  node,
_keyType  value 
)
virtual
template<class _NodeClass, class _keyType>
virtual _NodeClass* FibonacciHeap< _NodeClass, _keyType >::Delete ( _NodeClass *  node)
virtual
template<class _NodeClass, class _keyType>
virtual _NodeClass* FibonacciHeap< _NodeClass, _keyType >::ExtractMin ( void  )
virtual
template<class _NodeClass, class _keyType>
virtual void FibonacciHeap< _NodeClass, _keyType >::FreeAllNodes ( )
virtual
template<class _NodeClass, class _keyType>
void FibonacciHeap< _NodeClass, _keyType >::FreeNodeSimple ( _NodeClass *  node)
protected
template<class _NodeClass, class _keyType>
virtual _NodeClass* FibonacciHeap< _NodeClass, _keyType >::GetMin ( void  )
virtual
template<class _NodeClass, class _keyType>
virtual void FibonacciHeap< _NodeClass, _keyType >::Insert ( _NodeClass *  node)
virtual
template<class _NodeClass, class _keyType>
virtual bool FibonacciHeap< _NodeClass, _keyType >::IsEmpty ( )
inlinevirtual
template<class _NodeClass, class _keyType>
void FibonacciHeap< _NodeClass, _keyType >::Link ( _NodeClass *  child,
_NodeClass *  parent 
)
protected
template<class _NodeClass, class _keyType>
virtual void FibonacciHeap< _NodeClass, _keyType >::Union ( FibonacciHeap< _NodeClass, _keyType > *  heap)
virtual

Member Data Documentation

template<class _NodeClass, class _keyType>
_NodeClass* FibonacciHeap< _NodeClass, _keyType >::head
protected
template<class _NodeClass, class _keyType>
_NodeClass* FibonacciHeap< _NodeClass, _keyType >::min
protected

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