Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

Functions

SCIP_RETCODE SCIPbtnodeCreate (SCIP_BT *tree, SCIP_BTNODE **node, void *dataptr)
 
void SCIPbtnodeFree (SCIP_BT *tree, SCIP_BTNODE **node)
 
void * SCIPbtnodeGetData (SCIP_BTNODE *node)
 
SCIP_BTNODESCIPbtnodeGetParent (SCIP_BTNODE *node)
 
SCIP_BTNODESCIPbtnodeGetLeftchild (SCIP_BTNODE *node)
 
SCIP_BTNODESCIPbtnodeGetRightchild (SCIP_BTNODE *node)
 
SCIP_BTNODESCIPbtnodeGetSibling (SCIP_BTNODE *node)
 
SCIP_Bool SCIPbtnodeIsRoot (SCIP_BTNODE *node)
 
SCIP_Bool SCIPbtnodeIsLeaf (SCIP_BTNODE *node)
 
SCIP_Bool SCIPbtnodeIsLeftchild (SCIP_BTNODE *node)
 
SCIP_Bool SCIPbtnodeIsRightchild (SCIP_BTNODE *node)
 
void SCIPbtnodeSetData (SCIP_BTNODE *node, void *dataptr)
 
void SCIPbtnodeSetParent (SCIP_BTNODE *node, SCIP_BTNODE *parent)
 
void SCIPbtnodeSetLeftchild (SCIP_BTNODE *node, SCIP_BTNODE *left)
 
void SCIPbtnodeSetRightchild (SCIP_BTNODE *node, SCIP_BTNODE *right)
 
SCIP_RETCODE SCIPbtCreate (SCIP_BT **tree, BMS_BLKMEM *blkmem)
 
void SCIPbtFree (SCIP_BT **tree)
 
void SCIPbtPrintGml (SCIP_BT *tree, FILE *file)
 
SCIP_Bool SCIPbtIsEmpty (SCIP_BT *tree)
 
SCIP_BTNODESCIPbtGetRoot (SCIP_BT *tree)
 
void SCIPbtSetRoot (SCIP_BT *tree, SCIP_BTNODE *root)
 

Function Documentation

SCIP_RETCODE SCIPbtnodeCreate ( SCIP_BT tree,
SCIP_BTNODE **  node,
void *  dataptr 
)

creates a binary tree node with sorting value and user data

Parameters
treebinary search tree
nodepointer to store the created search node
dataptruser node data pointer, or NULL
void SCIPbtnodeFree ( SCIP_BT tree,
SCIP_BTNODE **  node 
)

frees the binary node including the rooted subtree

Note
The user pointer (object) is not freed. If needed, it has to be done by the user.
Parameters
treebinary tree
nodenode to be freed
void* SCIPbtnodeGetData ( SCIP_BTNODE node)

returns the user data pointer stored in that node

Parameters
nodenode
SCIP_BTNODE* SCIPbtnodeGetParent ( SCIP_BTNODE node)

returns the parent which can be NULL if the given node is the root

Parameters
nodenode
SCIP_BTNODE* SCIPbtnodeGetLeftchild ( SCIP_BTNODE node)

returns left child which can be NULL if the given node is a leaf

Parameters
nodenode
SCIP_BTNODE* SCIPbtnodeGetRightchild ( SCIP_BTNODE node)

returns right child which can be NULL if the given node is a leaf

Parameters
nodenode
SCIP_BTNODE* SCIPbtnodeGetSibling ( SCIP_BTNODE node)

returns the sibling of the node or NULL if does not exist

Parameters
nodenode
SCIP_Bool SCIPbtnodeIsRoot ( SCIP_BTNODE node)

returns whether the node is a root node

Parameters
nodenode
SCIP_Bool SCIPbtnodeIsLeaf ( SCIP_BTNODE node)

returns whether the node is a leaf

Parameters
nodenode
SCIP_Bool SCIPbtnodeIsLeftchild ( SCIP_BTNODE node)

returns TRUE if the given node is left child

Parameters
nodenode
SCIP_Bool SCIPbtnodeIsRightchild ( SCIP_BTNODE node)

returns TRUE if the given node is right child

Parameters
nodenode
void SCIPbtnodeSetData ( SCIP_BTNODE node,
void *  dataptr 
)

sets the give node data

Note
The old user pointer is not freed.
Parameters
nodenode
dataptrnode user data pointer
void SCIPbtnodeSetParent ( SCIP_BTNODE node,
SCIP_BTNODE parent 
)

sets parent node

Note
The old parent including the rooted subtree is not delete.
Parameters
nodenode
parentnew parent node, or NULL
void SCIPbtnodeSetLeftchild ( SCIP_BTNODE node,
SCIP_BTNODE left 
)

sets left child

Note
The old left child including the rooted subtree is not delete.
Parameters
nodenode
leftnew left child, or NULL
void SCIPbtnodeSetRightchild ( SCIP_BTNODE node,
SCIP_BTNODE right 
)

sets right child

Note
The old right child including the rooted subtree is not delete.
Parameters
nodenode
rightnew right child, or NULL
SCIP_RETCODE SCIPbtCreate ( SCIP_BT **  tree,
BMS_BLKMEM *  blkmem 
)

creates an binary tree

Parameters
treepointer to store the created binary tree
blkmemblock memory used to create nodes
void SCIPbtFree ( SCIP_BT **  tree)

frees binary tree

Note
The user pointers (object) of the search nodes are not freed. If needed, it has to be done by the user.
Parameters
treepointer to binary tree
void SCIPbtPrintGml ( SCIP_BT tree,
FILE *  file 
)

prints the binary tree in GML format into the given file

Parameters
treebinary tree
filefile to write to
SCIP_Bool SCIPbtIsEmpty ( SCIP_BT tree)

returns whether the binary tree is empty (has no nodes)

Parameters
treebinary tree
SCIP_BTNODE* SCIPbtGetRoot ( SCIP_BT tree)

returns the root node of the binary tree or NULL if the binary tree is empty

Parameters
treetree to be evaluated
void SCIPbtSetRoot ( SCIP_BT tree,
SCIP_BTNODE root 
)

sets root node

Note
The old root including the rooted subtree is not delete.
Parameters
treetree to be evaluated
rootnew root, or NULL