# DAT 305 WEEK 4 Apply – Binary Search Tree – Algorithm Visualization

# DAT 305 WEEK 4 Apply – Binary Search Tree – Algorithm Visualization

**Access **the BST Tree Simulator for this assignment.

**Part I**

You will validate 4.5.2, 4.5.3, and 4.5.4 Participation Activities in the tree simulator. You will submit screen captures of your trees, and at the end of this part, you will have 6 images in a single Microsoft® Word document to submit. At the end of the document, answer the questions presented for you below.

- 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.
- Reflect on your experience using the BST simulator by answering the questions at the bottom of your Microsoft® Word document 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 II**

You will validate the 4.6.1, 4.6.2, and 4.6.3 Participation Activities in the tree simulator. You will submit screen captures of your trees, and at the end of this part, you will have 6 images in a single Microsoft® Word document to submit. At the end of the document, answer the questions presented for you below.

- 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 per 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.
- Reflect on your experience using the BST simulator by answering the questions at the bottom of your Microsoft® Word document, 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 a recursive 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.