GNU libavl 2.0.1
Author: Ben Pfaff

4.4 Operations |

Now can start to implement the operations that we'll want to perform on BSTs. Here's the outline of the functions we'll implement. We use the generic table insertion convenience functions from Exercise 2.8-3 to implement bst_insert() and bst_replace(), as well the generic assertion function implementations from Exercise 2.9-2 to implement tbl_assert_insert() and tbl_assert_delete(). We also include a copy of the default memory allocation functions for use with BSTs:

    29. <BST operations 29> =
    <BST creation function 30>
    <BST search function 31>
    <BST item insertion function 32>
    <Table insertion convenience functions; tbl => bst 592>
    <BST item deletion function 37>
    <BST traversal functions 63>
    <BST copy function 83>
    <BST destruction function 84>
    <BST balance function 87>
    <Default memory allocation functions; tbl => bst 6>
    <Table assertion functions; tbl => bst 594>

This code is included in 25.

4.3 Rotations | 4 Binary Search Trees | 4.5 Creation