EBK STARTING OUT W/JAVA:...DATA...
EBK STARTING OUT W/JAVA:...DATA...
4th Edition
ISBN: 9780134757179
Author: GADDIS
Publisher: PEARSON CO
Expert Solution & Answer
Book Icon
Chapter 21, 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
struct insert_into_bst { // Function takes a constant Book as a parameter, inserts that book indexed by // the book's ISBN into a binary search tree, and returns nothing. void operator()(const Book& book) { // // TO-DO (7) ||| ///// // Write the lines of code to insert the key (book's ISBN) and value // ("book") pair into "my_bst". END-TO-DO (7) | } std::map& my_bst; };
typedef struct node{int data;struct node *left,*right;}BST;The node structure of BST is shown above. Please design an efficient algorithm to return the maximum keyword value in BST. Completion function: int findmax (BST *T)
To insert an element into a binary search tree (BST), you need to locate where to insert it in the tree. The key idea is to locate the parent for the new node.  True  False
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