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_BTNODE * SCIPbtnodeGetParent (SCIP_BTNODE *node)
 
SCIP_BTNODE * SCIPbtnodeGetLeftchild (SCIP_BTNODE *node)
 
SCIP_BTNODE * SCIPbtnodeGetRightchild (SCIP_BTNODE *node)
 
SCIP_BTNODE * SCIPbtnodeGetSibling (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_BTNODE * SCIPbtGetRoot (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