1. Implement a linked version of a basic binary search tree.
Remember that a binary
search tree is a binary tree where all the elements in the left subtree are smaller than that of the root and all the data in the right subtree are larger than that of the root. Furthermore both the left subtree and right subtree are also binary search trees (can you recognize the recursive definition of binary search tree?). Assume all elements of the binary search tree are distinct, meaning no duplicated data. The linked version of a binary tree has a node class for each node in the tree which consists of three fields: data, left, and right. The type of data field may depend on the application and the type of left and right is Node*. For this lab, we will use int for the type of data. 2. Write a program to insert data into a binary search tree. 3. Write functions for in-order, pre-order and post-order traversal of binary search tree. 4. Write a program to delete a node from binary tree. 5. Count and Print the leaves in a binary tree