Explanation of Solution
Given program code:
//Add a value to a binary search tree
//Return root of resulting search tree
Node add(Node tree, int value) //Line 1
{ //Line 2
//Check if tree is equal to null
if (tree == null) //Line 3
{ //Line 4
//Return new node
return new Node(x); //Line 5
//Check if the value is less than the value of the current node
if (value < tree.value) //Line 6
//Return and add the value to the left side
return add (tree.left, value); //Line 7
//Else
else //Line 8
//Return and add the value to the right side
return add (tree.right, value); Line 8
}//Line 9
The above program code snippet is used to add a value to the binary search tree and the program returns the modified root value.
Error in the program code:
Error 1:
In “Line 7”, the result of the recursive call needs to be grafted back into the tree. So this line should be modified as shown below.
//Call the function "add ()" and store the resultant into the node "tree.left"
tree.left = add(tree.left, value);
//Return the node.
return tree;
Error 2:
In “Line 8”, the result of the recursive call needs to be grafted back into the tree. So this line should be modified as shown below.
//Call the function "add ()" and store the resultant into the node "tree.right"
tree.right = add(tree.right, value);
//Return the node.
return tree;
Corrected code:
The modified code is highlighted below...
Want to see the full answer?
Check out a sample textbook solutionChapter 21 Solutions
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
- EX:[AE00]=fa50h number of ones =1111 1010 0101 0000 Physical address=4AE00h=4000h*10h+AE00h Mov ax,4000 Mov ds,ax; DS=4000h mov ds,4000 X Mov ax,[AE00] ; ax=[ae00]=FA50h Mov cx,10; 16 bit in decimal Mov bl,0 *: Ror ax,1 Jnc ** Inc bl **:Dec cx Jnz * ;LSB⇒CF Cf=1 ; it jump when CF=0, will not jump when CF=1 HW1: rewrite the above example use another wayarrow_forwardEX2: Write a piece of assembly code that can count the number of ones in word stored at 4AE00harrow_forwardWrite a program that simulates a Magic 8 Ball, which is a fortune-telling toy that displays a random response to a yes or no question. In the student sample programs for this book, you will find a text file named 8_ball_responses.txt. The file contains 12 responses, such as “I don’t think so”, “Yes, of course!”, “I’m not sure”, and so forth. The program should read the responses from the file into a list. It should prompt the user to ask a question, then display one of the responses, randomly selected from the list. The program should repeat until the user is ready to quit. Contents of 8_ball_responses.txt: Yes, of course! Without a doubt, yes. You can count on it. For sure! Ask me later. I'm not sure. I can't tell you right now. I'll tell you after my nap. No way! I don't think so. Without a doubt, no. The answer is clearly NO. (You can access the Computer Science Portal at www.pearsonhighered.com/gaddis.)arrow_forward
- New Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage LearningC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningSystems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage Learning
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT