The project was made as part of the Coding Interview University course.
- add - Add the given key and object to hash table. If key exists, update the value(iterative and recursion versions)
- find - Finds key in tree(iterative and recursion versions)
- min - Returns node with min key(iterative and recursion versions)
- max - Returns node with max key(iterative and recursion versions)
- height - Returns the height of the tree in nodes, 0 if empty(iterative and recursion versions)
- count - Returns the number of nodes stored in the tree(iterative and recursion versions)
- successor - Returns the node that contains next key
- predecessor - Returns the node contains previous key
- pre_order_travers - Visits nodes in preorder(root, left, right)
- in_order_travers - Visits nodes in preorder(left, root, right)
- post_order_travers - Visits nodes in preorder(left, right, root)
- init - Init banary tree data structure
- delete - Frees memory in data structure