It’s time to demonstrate your skills and perform a Binary Search Tree – Algorithm Visualization. For this assignment:
Complete the Steps outlined for Part 1 and Part 2. You will complete Participation Activities, found in the course zyBook, and use a tree simulator. Take screen captures as indicated in the steps for Part 1 and Part 2. Access the BST Tree Simulator for this assignment.
In a Microsoft® Word document, write a Reflection for Part 1 and Part 2. Include all required screen captures for Part 1 and Part 2 and responses to the prompts outlined in the Reflection sections. Label Part 1 and Part 2 of your reflection accordingly.
Submit your Reflection for Part 1 and Part 2 as a single Microsoft Word document.
Part 1
Validate zyBook Participation Activities 4.5.2, 4.5.3, and 4.5.4 in the tree simulator. Take screen captures of your trees as indicated in the steps below. You will have 6 images to submit for your Part 1 Reflection.
Complete the following steps:
Click the Binary search tree visualization link. This will open in a separate window. Leave open.
In the zyBooks course, return to 4.5.2: BST insert algorithm Participation Activity. If possible, place the two windows side-by-side for easier visualization.
Enter the data you see in the 4.5.2 Participation Activity tree (20, 12, 23, 11, 21, 30) by inserting each node in the simulator. Reflect on what you see. Is it the same as the tree in zyBooks? If different, how?
Validate 4.5.2 questions 1-4 again by using the simulator to check your answer. Screen capture and paste into a Microsoft Word document.
Validate 4.5.3 questions 1-5 again, but this time use the simulator to check your answer. Screen capture each tree and paste it into a Microsoft Word document. You will have four trees for this section.
Validate 4.5.4 questions 1-4 again, but this time use the simulator to check your answer. Screen capture each tree and paste it into Microsoft Word document.
Part 1 Reflection
In a Microsoft Word document, write your Part 1 Reflection. Include the required screen captures for the steps in Part 1 and your responses to the following:
Reflect on your experience using the BST simulator with this insert algorithm complexity in mind:
“The BST insert algorithm traverses the tree from the root to a leaf node to find the insertion location. One node is visited per level. A BST with N nodes has at least log2N levels and at most N levels. Therefore, the runtime complexity of insertion is best case O(logN) and worst case O(N).”
Reflect on how you observed this behavior in the simulator. You can reference a specific participation activity in your response. If you use research in your answer, be sure to cite your sources.
Part 2
Validate the 4.6.1, 4.6.2, and 4.6.3 Participation Activities in the tree simulator. Take screen captures of your trees as indicated in the steps below. You will have 6 images to submit for your Part II Reflection.
Complete the following steps:
In the zyBooks course, return to 4.6.1: BST remove algorithm Participation Activity. If possible, place the two windows side-by-side for easier visualization.
Enter the data you see in the 4.6.1 Participation Activity tree (19, 14, 25) by inserting each node in the simulator. Remove the leaf and reflect on what you see. Is it the same as the tree in the zyBooks simulation? If different, how?
Answer 4.6.1 questions 1-4 again, but this time use the simulator to validate your answer. Screen capture and paste into a Microsoft Word document. Rather than answering the question in the participation activity again, use the simulator to answer and validate your answers.
Answer 4.6.2 questions 1-5 again, but this time use the simulator to validate your answer. Screen capture each tree and paste into a Microsoft Word document. You will have four trees for this section.
Answer 4.6.3 questions 1-4 again, but this time use the simulator to validate your answer. Screen capture and paste into a Microsoft Word document.
Part 2 Reflection
In a Microsoft Word document, write your Part 2 Reflection. Include the required screen captures for the steps in Part 2 and your responses to the following:
Reflect on your experience using the BST simulator with this remove algorithm complexity in mind:
“The BST remove algorithm traverses the tree from the root to find the node to remove. When the node being removed has 2 children, the node's successor is found and are cursive call is made. One node is visited per level, and in the worst-case scenario, the tree is traversed twice from the root to a leaf. A BST with N nodes has at least log2N levels and at most N levels. Therefore, the runtime complexity of removal is best case O(logN) and worst case O(N). Two pointers are used to traverse the tree during removal. When the node being removed has 2 children, a third pointer and a copy of one node's data are also used, and one recursive call is made. Thus, the space complexity of removal is always O(1)."
Reflect on how you observed this behavior in the simulator. You can reference a specific participation activity in your response. If you use research in your answer, be sure to cite your sources.