Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
4th Edition
ISBN: 9780134787961
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 21, Problem 1FTE

Explanation of Solution

Given program code:

//Return the number of nodes in a binary tree

int Nodecount (Node tree) //Line 1

{ //Line 2

    //Declare a variable to get the number of nodes

    int count = 0; //Line 3

    //Check if tree is not equal to null

    if (tree != null) //Line 4

    { //Line 5

        //Increment the value of count

        count++; //Line 6

//Call the function recursively by passing the left sub tree

        NodeCount(tree.left); //Line 7

//Call the function recursively by passing the right sub tree

        NodeCount(tree.right); //Line 8

    } //Line 9

    //Return the value of count

    return count;//Line 10

}//Line 11

The above program code snippet is used to find the number of nodes present in the binary tree.

Error in the program code:

The statements inside the “if” condition does not use the returned values from the recursive calls. The lines from “Line 6” to “Line 10” should be changed and the modified snippet is given below...

Blurred answer
Students have asked these similar questions
Assume the tree node structure is following........ struct node { int data; struct node* left; struct node* right; }; struct node *root = null; and there is a created new node function, called newnode(int new_data). Please filled the Blank of Insertion function. void insert(struct node *root, int key) { struct node *current; queue q; q.enque(root); while(!q.empty() } current = q.front(); q.deque(); if(current->left == NULL) { break; } else } q.enque( if(current->right == NULL) { break; else q.enque(_ = newnode(key); = newnode(key); _-));
What does this part of code do? void addRecord(Node *& head, Node *& tail, string name, double balance){    Node *newNode = new Node;    newNode->name = name;    newNode->balance = balance;    newNode->next = NULL;    newNode->prev = NULL;    // If list is empty, make newNode the first node    if(head == NULL){        head = newNode;        tail = newNode;    }    else{        Node *temp = head;        // Loop through list until temp->next is NULL        while(temp->next != NULL){            temp = temp->next;        }        temp->next = newNode;        newNode->prev = temp;        tail = newNode;    }} /*
2. Write the code for preorder traversal of a binary tree. struct node{ int data; struct node *left, *right; } void preorder(node *x) { }
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