Implementation of the Binary Search Tree (BST) data structure. Skills learned:
- Insertion in a balanced BST;
- Deletion in a balanaced BST;
- Finding a giving node value in the tree;
- Breadth-first and depth-first traversal algorithms such as level order, pre order, in order, and post order;
- Finding the height and depth in a balanced BST;
- Checking if the BST is balanced and rebalancing it if necessary.