90 return m_Key == RHS.m_Key;
96 return m_Key < RHS.m_Key;
182 return (m_MinRoot ==
nullptr);
196 return m_NumMarkedNodes;
257 long m_NumMarkedNodes;
unsigned int NodeIndexType
bool operator<(FibHeapNode &RHS)
Compare key value.
NodeIndexType GetIndexValue()
Index stores this node's location in the node array.
bool operator==(FibHeapNode &RHS)
Compare key value.
static const NodeIndexType NullNodeIndex
void operator=(NodeKeyValueType newKeyVal)
Set key value (that the nodes are sorted based on)
static const NodeKeyValueType NegativeInfinity
void SetIndexValue(NodeIndexType indexValue)
NodeKeyValueType GetKeyValue()
FibHeapNode * ExtractMin()
ExtractMin() - O(n) worst-case actual; O(lg n) amortized.
FibHeapNode * Minimum()
Minimum - O(1) actual; O(1) amortized.
int DecreaseKey(FibHeapNode *theNode, NodeKeyValueType keyValue)
void SetHeapNodes(FibHeapNode *heapNodes)
void Union(FibHeap *OtherHeap)
Union() - O(1) actual; O(1) amortized.
void Insert(FibHeapNode *NewNode)
int Delete(FibHeapNode *theNode)
void Print(FibHeapNode *Tree=nullptr, FibHeapNode *theParent=nullptr)