Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
3rd Edition
ISBN: 9780134038179
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 22, Problem 2FTE

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...

Blurred answer
Students have asked these similar questions
We are considering the RSA encryption scheme. The involved numbers are small, so the communication is insecure.  Alice's public key (n,public_key) is (247,7). A code breaker manages to factories  247 = 13 x 19  Determine Alice's secret key. To solve the problem, you need not use the extended Euclid algorithm, but you may assume that her private key is one of the following numbers 31,35,55,59,77,89.
Consider the following Turing Machine (TM). Does the TM halt if it begins on the empty tape? If it halts, after how many steps? Does the TM halt if it begins on a tape that contains a single letter A followed by blanks? Justify your answer.
Pllleasassseee ssiiirrrr soolveee thissssss questionnnnnnn
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education