The purpose of the Lab exercises is to help the student acquire skills in developing programs that involve the use of binary trees. We will be concentrating primarily on binary search trees, or BSTs.
There are five exercises in this Lab, although not all of them will be required for submission. Be sure to read the following instructions carefully.
Exercise 1: No submission is required.
Create a folder and name it Week 6 Lab. Inside this folder, create the subfolders Ex2, Ex3, Ex4, and Ex5. Place the solution to each of the four exercises required for submission in the corresponding subfolder. Compress the folder Week 6 Lab, and submit the resulting zipped folder.
Note that Exercises 2, 3, 4, and 5 require software development. For each of them, place in the corresponding folder the source code files (i.e., .h and .cpp files) you created, and a screenshot of the execution window. Do not submit other files or folders, including those automatically generated by the IDE.
Use a personal copy or access the software at https://lab.devry.edu (Links to an external site.)Links to an external site..
Exercise 1: Lesson Review
Create a project, Binary Search Tree, using the program in Binary Search Tree (Links to an external site.)Links to an external site..
Compile the project, run it, and review the code that is given carefully. This program tests the code discussed in the lesson.
Exercise 2: Modifying the BinarySearchTree Class
Add a to_string method to the class BinarySearchTree. This method will return a string representation of the values in the data structure, which will consist of all the values concatenated and separated by “, “. Test your method in main() declaring an object bst:
//fill bst with 10 random integers
cout << bst.to_string() << endl; Exercise 3: Using a BST in an Application Create a SimpleBag class that uses a binary search tree to store the bag items. The class should have the methods listed below. Test your SimpleBag class. a. SimpleBag(): default constructor; creates an empty bag b. bool isEmpty(): determines whether the bag is empty c. void print(): prints the SimpleBag elements d. void clear(): removes all of the items from the bag e. void add(int item): adds an item to the bag f. int count(int item): counts the number of occurrences of item in the bag Exercise 4: Recursion and Binary Trees Add a recursive function getHeight to the BinarySearchTree class in Exercise 1 that returns the height of the tree. Test your function. Exercise 5: Using Properties of BSTs Add preorderDisplay and postorderDisplay methods to the BinarySearchTree class in Exercise 1 to print the items in the BST listed in preorder and postorder, respectively. Test your methods.