binary search tree data structure
| SCIP_RETCODE SCIPbtnodeCreate | ( | SCIP_BT * | tree, |
| SCIP_BTNODE ** | node, | ||
| void * | dataptr ) |
creates a binary tree node with sorting value and user data
creates a tree node with (optinal) user data
| tree | binary tree |
| node | pointer to store the created node |
| dataptr | user node data pointer, or NULL |
Definition at line 8678 of file misc.c.
References assert(), btnodeCreateEmpty(), NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by checkOverloadViaThetaTree(), and insertThetanode().
| void SCIPbtnodeFree | ( | SCIP_BT * | tree, |
| SCIP_BTNODE ** | node ) |
frees the binary node including the rooted subtree
frees the node including the rooted subtree
| tree | binary tree |
| node | node to be freed |
Definition at line 8742 of file misc.c.
References assert(), btnodeFreeLeaf(), NULL, and SCIPbtnodeFree().
Referenced by deleteLambdaLeaf(), SCIPbtFree(), and SCIPbtnodeFree().
| void * SCIPbtnodeGetData | ( | SCIP_BTNODE * | node | ) |
returns the user data pointer stored in that node
| node | node |
Definition at line 8787 of file misc.c.
References assert(), SCIP_BtNode::dataptr, and NULL.
Referenced by analyzeConflictOverload(), checkOverloadViaThetaTree(), collectThetaSubtree(), computeEnergyContribution(), deleteLambdaLeaf(), findResponsibleLambdaLeafTraceEnergy(), findResponsibleLambdaLeafTraceEnvelop(), inferboundsEdgeFinding(), insertThetanode(), moveNodeToLambda(), SCIP_DECL_SORTPTRCOMP(), traceLambdaEnergy(), traceLambdaEnvelop(), traceThetaEnvelop(), updateEnvelope(), and updateKeyOnTrace().
| SCIP_BTNODE * SCIPbtnodeGetParent | ( | SCIP_BTNODE * | node | ) |
returns the parent which can be NULL if the given node is the root
| node | node |
Definition at line 8797 of file misc.c.
References assert(), NULL, and SCIP_BtNode::parent.
Referenced by deleteLambdaLeaf(), insertThetanode(), SCIPbtnodeGetSibling(), SCIPbtnodeIsLeftchild(), SCIPbtnodeIsRightchild(), updateEnvelope(), and updateKeyOnTrace().
| SCIP_BTNODE * SCIPbtnodeGetLeftchild | ( | SCIP_BTNODE * | node | ) |
returns left child which can be NULL if the given node is a leaf
| node | node |
Definition at line 8807 of file misc.c.
References assert(), SCIP_BtNode::left, and NULL.
Referenced by btPrintSubtree(), collectThetaSubtree(), deleteLambdaLeaf(), findResponsibleLambdaLeafTraceEnergy(), findResponsibleLambdaLeafTraceEnvelop(), insertThetanode(), SCIPbtnodeGetSibling(), SCIPbtnodeIsLeftchild(), traceLambdaEnergy(), traceLambdaEnvelop(), traceThetaEnvelop(), and updateEnvelope().
| SCIP_BTNODE * SCIPbtnodeGetRightchild | ( | SCIP_BTNODE * | node | ) |
returns right child which can be NULL if the given node is a leaf
| node | node |
Definition at line 8817 of file misc.c.
References assert(), NULL, and SCIP_BtNode::right.
Referenced by btPrintSubtree(), collectThetaSubtree(), deleteLambdaLeaf(), findResponsibleLambdaLeafTraceEnergy(), findResponsibleLambdaLeafTraceEnvelop(), insertThetanode(), SCIPbtnodeGetSibling(), SCIPbtnodeIsRightchild(), traceLambdaEnergy(), traceLambdaEnvelop(), traceThetaEnvelop(), and updateEnvelope().
| SCIP_BTNODE * SCIPbtnodeGetSibling | ( | SCIP_BTNODE * | node | ) |
returns the sibling of the node or NULL if does not exist
| node | node |
Definition at line 8827 of file misc.c.
References assert(), NULL, SCIPbtnodeGetLeftchild(), SCIPbtnodeGetParent(), and SCIPbtnodeGetRightchild().
| SCIP_Bool SCIPbtnodeIsRoot | ( | SCIP_BTNODE * | node | ) |
returns whether the node is a root node
| node | node |
Definition at line 8847 of file misc.c.
References assert(), NULL, SCIP_BtNode::parent, and SCIP_Bool.
Referenced by deleteLambdaLeaf(), inferboundsEdgeFinding(), SCIPbtnodeIsLeftchild(), SCIPbtnodeIsRightchild(), and updateKeyOnTrace().
| SCIP_Bool SCIPbtnodeIsLeaf | ( | SCIP_BTNODE * | node | ) |
returns whether the node is a leaf
| node | node |
Definition at line 8857 of file misc.c.
References assert(), SCIP_BtNode::left, NULL, SCIP_BtNode::right, and SCIP_Bool.
Referenced by collectThetaSubtree(), deleteLambdaLeaf(), findResponsibleLambdaLeafTraceEnergy(), findResponsibleLambdaLeafTraceEnvelop(), inferboundsEdgeFinding(), insertThetanode(), traceLambdaEnergy(), traceLambdaEnvelop(), traceThetaEnvelop(), and updateEnvelope().
| SCIP_Bool SCIPbtnodeIsLeftchild | ( | SCIP_BTNODE * | node | ) |
returns TRUE if the given node is left child
| node | node |
Definition at line 8867 of file misc.c.
References FALSE, SCIP_Bool, SCIPbtnodeGetLeftchild(), SCIPbtnodeGetParent(), SCIPbtnodeIsRoot(), and TRUE.
Referenced by deleteLambdaLeaf(), and updateKeyOnTrace().
| SCIP_Bool SCIPbtnodeIsRightchild | ( | SCIP_BTNODE * | node | ) |
returns TRUE if the given node is right child
| node | node |
Definition at line 8885 of file misc.c.
References FALSE, SCIP_Bool, SCIPbtnodeGetParent(), SCIPbtnodeGetRightchild(), SCIPbtnodeIsRoot(), and TRUE.
Referenced by deleteLambdaLeaf().
| void SCIPbtnodeSetData | ( | SCIP_BTNODE * | node, |
| void * | dataptr ) |
sets the give node data
| node | node |
| dataptr | node user data pointer |
Definition at line 8906 of file misc.c.
References assert(), SCIP_BtNode::dataptr, and NULL.
| void SCIPbtnodeSetParent | ( | SCIP_BTNODE * | node, |
| SCIP_BTNODE * | parent ) |
sets parent node
| node | node |
| parent | new parent node, or NULL |
Definition at line 8920 of file misc.c.
References assert(), NULL, and SCIP_BtNode::parent.
Referenced by deleteLambdaLeaf(), and insertThetanode().
| void SCIPbtnodeSetLeftchild | ( | SCIP_BTNODE * | node, |
| SCIP_BTNODE * | left ) |
sets left child
| node | node |
| left | new left child, or NULL |
Definition at line 8934 of file misc.c.
References assert(), SCIP_BtNode::left, and NULL.
Referenced by deleteLambdaLeaf(), and insertThetanode().
| void SCIPbtnodeSetRightchild | ( | SCIP_BTNODE * | node, |
| SCIP_BTNODE * | right ) |
sets right child
| node | node |
| right | new right child, or NULL |
Definition at line 8948 of file misc.c.
References assert(), NULL, and SCIP_BtNode::right.
Referenced by deleteLambdaLeaf(), and insertThetanode().
| SCIP_RETCODE SCIPbtCreate | ( | SCIP_BT ** | tree, |
| BMS_BLKMEM * | blkmem ) |
creates an binary tree
| tree | pointer to store the created binary tree |
| blkmem | block memory used to createnode |
Definition at line 8959 of file misc.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by checkOverloadViaThetaTree().
| void SCIPbtFree | ( | SCIP_BT ** | tree | ) |
frees binary tree
frees binary tree
| tree | pointer to binary tree |
Definition at line 8978 of file misc.c.
References assert(), BMSfreeBlockMemory, NULL, and SCIPbtnodeFree().
Referenced by checkOverloadViaThetaTree().
| void SCIPbtPrintGml | ( | SCIP_BT * | tree, |
| FILE * | file ) |
prints the binary tree in GML format into the given file
| tree | binary tree |
| file | file to write to |
Definition at line 9030 of file misc.c.
References assert(), btPrintSubtree(), nnodes, NULL, SCIPbtGetRoot(), SCIPbtIsEmpty(), SCIPgmlWriteClosing(), SCIPgmlWriteOpening(), and TRUE.
returns whether the binary tree is empty (has no nodes)
| tree | binary tree |
Definition at line 9060 of file misc.c.
References assert(), NULL, SCIP_Bt::root, and SCIP_Bool.
Referenced by checkOverloadViaThetaTree(), inferboundsEdgeFinding(), insertThetanode(), and SCIPbtPrintGml().
| SCIP_BTNODE * SCIPbtGetRoot | ( | SCIP_BT * | tree | ) |
returns the root node of the binary tree or NULL if the binary tree is empty
returns the the root node of the binary or NULL if the binary tree is empty
| tree | tree to be evaluated |
Definition at line 9070 of file misc.c.
References assert(), NULL, and SCIP_Bt::root.
Referenced by checkOverloadViaThetaTree(), inferboundsEdgeFinding(), insertThetanode(), and SCIPbtPrintGml().
| void SCIPbtSetRoot | ( | SCIP_BT * | tree, |
| SCIP_BTNODE * | root ) |
sets root node
| tree | tree to be evaluated |
| root | new root, or NULL |
Definition at line 9083 of file misc.c.
References assert(), NULL, and SCIP_Bt::root.
Referenced by deleteLambdaLeaf(), and insertThetanode().