You have chosen to sponsor your bid up to a maximum amount of .
Implement the functions to insert and remove nodes in a Binary Search Tree (BST). Each node carries a student record (ID and name). Each node also has a left child, a right child and a parent, each maintained in the node class as a pointer. The BST has a root node, whose parent pointer is NULL. Nodes in the BST have the following properties:
1. Each node has a different ID (no two students can have the same ID, but names may be same).
2. The left child of a node has ID less than the ID of the node.
3. The right child of a node has ID greater than the ID of the node.
4. Each node has at most two children (a node with no children is a leaf node).
5. Each node has one parent, with the exception of root node, which has no parent.
You are given four C++ source files in an archive. Extract the archive on your PC (or Linux server) and change into the directory. Inside you will find the following files:
- bst.h: This is a header file that defines classes node and bst. You must not modify this file.
- bst.cpp: This is the file where the insert and remove functions of the bst class must be implemented. You
must edit and submit this file.
- main.cpp: This is the file where the main function, used for testing the BST program, resides. You
should NOT submit this file, although you may choose to modify it for testing.