#include </usr1/tp517/Tumble/trunk/src/tumble/fibheap.h>
Collaboration diagram for FibHeap:
Public Member Functions | |
| FibHeap () | |
| virtual | ~FibHeap () |
| void | Insert (FibHeapNode *NewNode) |
| void | Union (FibHeap *OtherHeap) |
| FibHeapNode * | Minimum () |
| FibHeapNode * | ExtractMin () |
| int | DecreaseKey (FibHeapNode *theNode, FibHeapNode &NewKey) |
| int | Delete (FibHeapNode *theNode) |
| int | GetHeapOwnership () |
| void | SetHeapOwnership () |
| void | ClearHeapOwnership () |
| long | GetNumNodes () |
| long | GetNumTrees () |
| long | GetNumMarkedNodes () |
| void | Print (FibHeapNode *Tree=NULL, FibHeapNode *theParent=NULL) |
Private Member Functions | |
| void | _Exchange (FibHeapNode *&N1, FibHeapNode *&N2) |
| void | _Consolidate () |
| void | _Link (FibHeapNode *, FibHeapNode *) |
| void | _AddToRootList (FibHeapNode *) |
| void | _Cut (FibHeapNode *, FibHeapNode *) |
| void | _CascadingCut (FibHeapNode *) |
Private Attributes | |
| FibHeapNode * | MinRoot |
| long | NumNodes |
| long | NumTrees |
| long | NumMarkedNodes |
| int | HeapOwnershipFlag |
Definition at line 70 of file fibheap.h.
| FibHeap::FibHeap | ( | ) |
Definition at line 172 of file fibheap.C.
References ClearHeapOwnership(), MinRoot, NumMarkedNodes, NumNodes, and NumTrees.
Referenced by ExtractMin().
Here is the call graph for this function:
| FibHeap::~FibHeap | ( | ) | [virtual] |
Definition at line 183 of file fibheap.C.
References ExtractMin(), GetHeapOwnership(), and MinRoot.
Here is the call graph for this function:
| void FibHeap::Insert | ( | FibHeapNode * | NewNode | ) |
Definition at line 209 of file fibheap.C.
References FibHeapNode::Left, MinRoot, NumNodes, NumTrees, FibHeapNode::Parent, and FibHeapNode::Right.
Referenced by _AddToRootList(), and FHeap< Data >::decrease().
| void FibHeap::Union | ( | FibHeap * | OtherHeap | ) |
Definition at line 249 of file fibheap.C.
References FibHeapNode::Left, MinRoot, NumMarkedNodes, NumNodes, NumTrees, and FibHeapNode::Right.
Referenced by ExtractMin().
| FibHeapNode* FibHeap::Minimum | ( | ) | [inline] |
Definition at line 87 of file fibheap.h.
References MinRoot.
Referenced by FHeap< Data >::empty(), and ExtractMin().
| FibHeapNode * FibHeap::ExtractMin | ( | ) |
Definition at line 310 of file fibheap.C.
References _Consolidate(), FibHeapNode::Child, FibHeapNode::Degree, FibHeap(), FibHeapNode::Left, FibHeapNode::Mark, Minimum(), MinRoot, NumMarkedNodes, NumNodes, FibHeapNode::Parent, FibHeapNode::Right, and Union().
Referenced by Delete(), FHeap< Data >::rem_min(), and ~FibHeap().
Here is the call graph for this function:
| int FibHeap::DecreaseKey | ( | FibHeapNode * | theNode, | |
| FibHeapNode & | NewKey | |||
| ) |
Definition at line 389 of file fibheap.C.
References _CascadingCut(), _Cut(), MinRoot, NOTOK, OK, and FibHeapNode::Parent.
Referenced by FHeap< Data >::decrease(), and Delete().
Here is the call graph for this function:
| int FibHeap::Delete | ( | FibHeapNode * | theNode | ) |
Definition at line 419 of file fibheap.C.
References DecreaseKey(), ExtractMin(), GetHeapOwnership(), FibHeapNode::NegInfinityFlag, NOTOK, and OK.
Here is the call graph for this function:
| int FibHeap::GetHeapOwnership | ( | ) | [inline] |
Definition at line 97 of file fibheap.h.
References HeapOwnershipFlag.
Referenced by Delete(), and ~FibHeap().
| void FibHeap::SetHeapOwnership | ( | ) | [inline] |
| void FibHeap::ClearHeapOwnership | ( | ) | [inline] |
| long FibHeap::GetNumNodes | ( | ) | [inline] |
| long FibHeap::GetNumTrees | ( | ) | [inline] |
| long FibHeap::GetNumMarkedNodes | ( | ) | [inline] |
| void FibHeap::Print | ( | FibHeapNode * | Tree = NULL, |
|
| FibHeapNode * | theParent = NULL | |||
| ) |
Definition at line 451 of file fibheap.C.
References FibHeapNode::Child, FibHeapNode::Left, MinRoot, FibHeapNode::Parent, FibHeapNode::Print(), and FibHeapNode::Right.
Here is the call graph for this function:
| void FibHeap::_Exchange | ( | FibHeapNode *& | N1, | |
| FibHeapNode *& | N2 | |||
| ) | [inline, private] |
| void FibHeap::_Consolidate | ( | ) | [private] |
Definition at line 534 of file fibheap.C.
References _AddToRootList(), _Exchange(), _Link(), FibHeapNode::Degree, FibHeapNode::Left, MinRoot, NumTrees, and FibHeapNode::Right.
Referenced by ExtractMin().
Here is the call graph for this function:
| void FibHeap::_Link | ( | FibHeapNode * | , | |
| FibHeapNode * | ||||
| ) | [private] |
Definition at line 601 of file fibheap.C.
References FibHeapNode::Child, FibHeapNode::Degree, FibHeapNode::Left, FibHeapNode::Mark, NumMarkedNodes, NumTrees, FibHeapNode::Parent, and FibHeapNode::Right.
Referenced by _Consolidate().
| void FibHeap::_AddToRootList | ( | FibHeapNode * | ) | [private] |
Definition at line 644 of file fibheap.C.
References Insert(), FibHeapNode::Mark, NumMarkedNodes, and NumNodes.
Referenced by _Consolidate(), and _Cut().
Here is the call graph for this function:
| void FibHeap::_Cut | ( | FibHeapNode * | , | |
| FibHeapNode * | ||||
| ) | [private] |
Definition at line 657 of file fibheap.C.
References _AddToRootList(), FibHeapNode::Child, FibHeapNode::Degree, FibHeapNode::Left, and FibHeapNode::Right.
Referenced by _CascadingCut(), and DecreaseKey().
Here is the call graph for this function:
| void FibHeap::_CascadingCut | ( | FibHeapNode * | ) | [private] |
Definition at line 682 of file fibheap.C.
References _Cut(), FibHeapNode::Mark, NumMarkedNodes, and FibHeapNode::Parent.
Referenced by DecreaseKey().
Here is the call graph for this function:
FibHeapNode* FibHeap::MinRoot [private] |
Definition at line 72 of file fibheap.h.
Referenced by _Consolidate(), DecreaseKey(), ExtractMin(), FibHeap(), Insert(), Minimum(), Print(), Union(), and ~FibHeap().
long FibHeap::NumNodes [private] |
Definition at line 73 of file fibheap.h.
Referenced by _AddToRootList(), ExtractMin(), FibHeap(), GetNumNodes(), Insert(), and Union().
long FibHeap::NumTrees [private] |
Definition at line 73 of file fibheap.h.
Referenced by _Consolidate(), _Link(), FibHeap(), GetNumTrees(), Insert(), and Union().
long FibHeap::NumMarkedNodes [private] |
Definition at line 73 of file fibheap.h.
Referenced by _AddToRootList(), _CascadingCut(), _Link(), ExtractMin(), FibHeap(), GetNumMarkedNodes(), and Union().
int FibHeap::HeapOwnershipFlag [private] |
Definition at line 75 of file fibheap.h.
Referenced by ClearHeapOwnership(), GetHeapOwnership(), and SetHeapOwnership().
1.5.2