libvieter/src/tree/vieter_tree_balancing.h

21 lines
508 B
C
Raw Normal View History

2023-01-20 12:08:05 +01:00
#ifndef VIETER_TREE_BALANCING
#define VIETER_TREE_BALANCING
2023-01-22 09:42:08 +01:00
#include "vieter_tree_node.h"
2023-01-20 12:08:05 +01:00
2023-01-29 17:32:27 +01:00
/*
* Ensure the tree remains a valid red-black tree after having inserting the
* node.
*/
2023-01-20 12:08:05 +01:00
void vieter_tree_node_balance_after_insert(vieter_tree_node *node);
2023-01-29 17:32:27 +01:00
/*
* Remove the given node, ensuring the tree remains a valid red-black tree.
*
2023-01-29 21:34:44 +01:00
* @param node node to remove. This should have at most a single child, namely
* the right one.
2023-01-29 17:32:27 +01:00
*/
void vieter_tree_node_remove_balanced(vieter_tree_node *node);
2023-01-20 12:08:05 +01:00
#endif