bloodhound
0.2.0
AVL self-balancing binary search tree with intrusive nodes.
|
AVL self-balancing binary search tree. More...
#include <bloodhound.h>
Public Attributes | |
AvlNode * | root |
size_t | len |
AvlComparator | compare |
void * | compare_arg |
AvlDeleter | deleter |
void * | deleter_arg |
AVL self-balancing binary search tree.
AVL trees maintain a strict "AVL condition": for each node, the heights of its subtrees never differ by more than one. This condition guarantees that the tree's height is upper-bounded by 1.44 log2(n + 1.065) - 0.328, where n is the number of nodes in the tree. As such, insertion, removal, and searching are guaranteed to run in O(log n) worst case time.