tree_codes (a simple straightforward version manipulating the node class inside the BST class)
RecursiveBST (an elegent BST implementation based oln recursive definition of BST)
tree2_codes (a more structured and sophisticated OOP implementation with inheritance, function pointers and exception handling)