5.2 Data Types [ToC] [Index]     [Skip Back] [Skip Fwd]     [Prev] [Up] [Next]

We need to define data types for AVL trees like we did for BSTs. AVL tree nodes contain all the fields that a BST node does, plus a field recording its balance factor:

146. <AVL node structure 146> =
/* An AVL tree node. */
struct avl_node 
  { struct avl_node *avl_link[2]; /* Subtrees. */ void *avl_data; /* Pointer to data. */ signed char avl_balance; /* Balance factor. */ };

This code is included in 143.

We're using avl_ as the prefix for all AVL-related identifiers.

The other data structures for AVL trees are the same as for BSTs.