Question
The following code (studied in class) is part of the code for deleting a node from a binary search tree for the case where neither
- The following code (studied in class) is part of the code for deleting a node from a binary search tree for the case where neither of the two sub-trees of the deleted node is empty. This code replaces the deleted item by the largest item in the left sub-tree.
// Neither subtree is empty. Find largest element of left subtree Node largestParent = toBeRemoved; Node largest = toBeRemoved.getLeft(); while (largest.getRight() != null){ largestParent = largest; largest = largest.getRight(); } toBeRemoved.setData(largest.getData()); if (largestParent == toBeRemoved) { largestParent.setLeft(largest.getLeft()); } else { largestParent.setRight(largest.getLeft());}
|
Modify this code so that it replaces the deleted item with the smallest item in the right sub-tree instead of replacing it with the largest item in the left sub-tree. Similar to the above code, your modified code should be iterative (using a loop) and not recursive.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started