The datastructure PQ-tree was designed to present a set of permutations on an arbitrary set of elements.
More...
|
| PQLeaf (int count, PQNodeRoot::PQNodeStatus stat, PQLeafKey< T, X, Y > *keyPtr) |
|
| PQLeaf (int count, PQNodeRoot::PQNodeStatus stat, PQLeafKey< T, X, Y > *keyPtr, PQNodeKey< T, X, Y > *infoPtr) |
| The client may choose between two different constructors. More...
|
|
virtual | ~PQLeaf () |
| The destructor does not delete any accompanying information class as PQLeafKey, PQNodeKey and PQInternalKey. More...
|
|
virtual PQInternalKey< T, X, Y > * | getInternal () const |
| getInternal() returns 0. More...
|
|
virtual PQLeafKey< T, X, Y > * | getKey () const |
| getKey() returns a pointer to the PQLeafKey of PQLeaf. More...
|
|
virtual PQNodeRoot::PQNodeMark | mark () const |
| Returns the variable m_mark. More...
|
|
virtual void | mark (PQNodeRoot::PQNodeMark m) |
| Sets the variable m_mark. More...
|
|
virtual bool | setInternal (PQInternalKey< T, X, Y > *pointerToInternal) |
| setInternal() accepts only pointers pointerToInternal = 0. More...
|
|
virtual bool | setKey (PQLeafKey< T, X, Y > *pointerToKey) |
| setKey() sets the pointer variable m_pointerToKey to the specified address of pointerToKey that is of type PQLeafKey. More...
|
|
virtual PQNodeRoot::PQNodeStatus | status () const |
| Returns the variable m_status in the derived class PQLeaf. More...
|
|
virtual void | status (PQNodeRoot::PQNodeStatus s) |
| Sets the variable m_status in the derived class PQLeaf. More...
|
|
virtual PQNodeRoot::PQNodeType | type () const |
| Returns the variable PQInternalNode::m_type in the derived class PQLeaf. More...
|
|
virtual void | type (PQNodeRoot::PQNodeType) |
| Sets the variable PQInternalNode::m_type in the derived class PQLeaf. More...
|
|
| PQNode (int count) |
| The (second) constructor is called, if no information is available or neccessary. More...
|
|
| PQNode (int count, PQNodeKey< T, X, Y > *infoPtr) |
| The (first) constructor combines the node with its information and will automatically set the PQBasicKey::m_nodePointer (see basicKey) of the element of type PQNodeKey. More...
|
|
virtual | ~PQNode () |
| The destructor does not delete any accompanying information class as PQLeafKey, PQNodeKey and PQInternalKey. More...
|
|
bool | changeEndmost (PQNode< T, X, Y > *oldEnd, PQNode< T, X, Y > *newEnd) |
| The function changeEndmost() replaces the old endmost child oldEnd of the node by a new child newEnd . More...
|
|
bool | changeSiblings (PQNode< T, X, Y > *oldSib, PQNode< T, X, Y > *newSib) |
| The function changeSiblings() replaces the old sibling oldSib of the node by a new sibling newSib . More...
|
|
int | childCount () const |
| Returns the number of children of a node. More...
|
|
void | childCount (int count) |
| Sets the number of children of a node. More...
|
|
bool | endmostChild () const |
| The function endmostChild() checks if a node is endmost child of a Q-node. More...
|
|
PQNode< T, X, Y > * | getEndmost (PQNode< T, X, Y > *other) const |
| Returns one of the endmost children of node, if node is a Q-node. More...
|
|
PQNode< T, X, Y > * | getEndmost (SibDirection side) const |
| Returns one of the endmost children of node, if node is a Q-node. More...
|
|
PQNode< T, X, Y > * | getNextSib (PQNode< T, X, Y > *other) const |
| The function getNextSib() returns one of the siblings of the node. More...
|
|
PQNodeKey< T, X, Y > * | getNodeInfo () const |
| Returns the identification number of a node. More...
|
|
PQNode< T, X, Y > * | getSib (SibDirection side) const |
| The function getSib() returns one of the siblings of the node. More...
|
|
int | identificationNumber () const |
| Returns the identification number of a node. More...
|
|
virtual void | mark (PQNodeMark)=0 |
| mark() sets the variable PQLeaf::m_mark in the derived class PQLeaf and PQInternalNode. More...
|
|
PQNode< T, X, Y > * | parent () const |
| The function parent() returns a pointer to the parent of a node. More...
|
|
PQNode< T, X, Y > * | parent (PQNode< T, X, Y > *newParent) |
| Sets the parent pointer of a node. More...
|
|
PQNodeType | parentType () const |
| Returns the type of the parent of a node. More...
|
|
void | parentType (PQNodeType newParentType) |
| Sets the type of the parent of a node. More...
|
|
int | pertChildCount () const |
| Returs the number of pertinent children of a node. More...
|
|
void | pertChildCount (int count) |
| Sets the number of pertinent children of a node. More...
|
|
SibDirection | putSibling (PQNode< T, X, Y > *newSib) |
| The default function putSibling() stores a new sibling at a free sibling pointer of the node. More...
|
|
SibDirection | putSibling (PQNode< T, X, Y > *newSib, SibDirection preference) |
| The function putSibling() with preference stores a new sibling at a free sibling pointer of the node. More...
|
|
PQNode< T, X, Y > * | referenceChild () const |
| Returns a pointer to the reference child if node is a P-node. More...
|
|
PQNode< T, X, Y > * | referenceParent () const |
| Returns the pointer to the parent if node is a reference child. More...
|
|
bool | setNodeInfo (PQNodeKey< T, X, Y > *pointerToInfo) |
| Sets the pointer m_pointerToInfo to the specified adress of pointerToInfo . More...
|
|
virtual void | status (PQNodeStatus)=0 |
| Sets the variable PQLeaf::m_status in the derived class PQLeaf and PQInternalNode. More...
|
|
virtual void | type (PQNodeType)=0 |
| Sets the variable PQInternalNode::m_type in the derived class PQLeaf and PQInternalNode. More...
|
|
|
List< PQNode< T, X, Y > * > * | fullChildren |
| Stores all full children of a node during a reduction. More...
|
|
int | m_childCount |
|
int | m_debugTreeNumber |
| Needed for debuging purposes. More...
|
|
PQNode< T, X, Y > * | m_firstFull |
| Stores a pointer to the first full child of a Q-node. More...
|
|
int | m_identificationNumber |
| Each node that has been introduced once into the tree gets a unique number. More...
|
|
PQNode< T, X, Y > * | m_leftEndmost |
|
PQNode< T, X, Y > * | m_parent |
| Is a pointer to the parent. More...
|
|
PQNodeType | m_parentType |
| Stores the type of the parent which can be either a P- or Q-node. More...
|
|
int | m_pertChildCount |
| Stores the number of pertinent children of the node. More...
|
|
int | m_pertLeafCount |
| Stores the number of pertinent leaves in the frontier of the node. More...
|
|
PQNodeKey< T, X, Y > * | m_pointerToInfo |
| Stores a pointer to the corresponding information of the node. More...
|
|
PQNode< T, X, Y > * | m_referenceChild |
| Stores a pointer to one child, the reference child of the doubly linked cirkular list of children of a P-node. More...
|
|
PQNode< T, X, Y > * | m_referenceParent |
| Is a pointer to the parent, in case that the parent is a P-node and the node itself is its reference child. More...
|
|
PQNode< T, X, Y > * | m_rightEndmost |
| Stores the right endmost child of a Q-node. More...
|
|
PQNode< T, X, Y > * | m_sibLeft |
| Stores a pointer ot the left sibling of PQNode. More...
|
|
PQNode< T, X, Y > * | m_sibRight |
| Stores a pointer ot the right sibling of PQNode. More...
|
|
List< PQNode< T, X, Y > * > * | partialChildren |
| Stores all partial children of a node during a reduction. More...
|
|
template<class T, class X, class Y>
class ogdf::PQLeaf< T, X, Y >
The datastructure PQ-tree was designed to present a set of permutations on an arbitrary set of elements.
These elements are the leafs of a PQ-tree. The client has to specify, what kind of elements he uses. The element of a node is stored in the PQLeafKey of a PQLeaf. The PQLeaf is the only concrete class template of the abstract base class template PQNode that is allowed to have a key.
Definition at line 55 of file PQLeaf.h.