libvieter/src/tree/vieter_tree_balancing.h

21 lines
508 B
C

#ifndef VIETER_TREE_BALANCING
#define VIETER_TREE_BALANCING
#include "vieter_tree_node.h"
/*
* Ensure the tree remains a valid red-black tree after having inserting the
* node.
*/
void vieter_tree_node_balance_after_insert(vieter_tree_node *node);
/*
* Remove the given node, ensuring the tree remains a valid red-black tree.
*
* @param node node to remove. This should have at most a single child, namely
* the right one.
*/
void vieter_tree_node_remove_balanced(vieter_tree_node *node);
#endif