
EBK STARTING OUT WITH C++ FROM CONTROL
9th Edition
ISBN: 8220106714379
Author: GADDIS
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 21, Problem 5PC
Program Plan Intro
Width of the Binary Tree
Program Plan:
- Create a template prefix and define the template class BinaryTree to perform the following functions:
- Declare the required variables.
- Declare the function prototypes.
- Define the no-argument generic constructor BinaryTree() to initialize the root value as null.
- Call the functions insertNode(),displayInOrder(), and treeHeight()and getWidth().
- Define the generic function insert() to insert the node in pointed by the tree node pointer in a tree.
- Define the generic function insertNode() to create a new node and it is passed inside the insert() function to insert a new node into the tree.
- .
- Define the generic function displayInOrder()to display the values in the subtree pointed by the node pointer.
- Define the generic function getTreeHeight() to count the height of the tree.
- Define the generic function TreeHeight()which calls getTreeHeight() to display the height of the tree.
- Define the generic function numAtLevel() to calculate the number of levels until the desired level is reached.
- Define the generic function getWidth() which calls the numAtLevel() function to count the width of the tree.
- In main() function,
- Create a tree with integer data type to hold the integer values.
- Declare the array testvalues[] and initialize it with the values.
- Use for loop to insert the values of testvalues[] array inside the binary tree using insertNode().
- Call the function displayInOrder() to display the nodes inserted in the order.
- Call the function treeHeight() to print the height of the tree after insertion.
- Call the function getWidth() to print the width of the tree after insertion.
- Display the height and width of the tree.
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
Please answer JAVA OOP problem below:
Assume you have three data definition classes, Person, Student and Faculty. The Student and Faculty classes extend Person. Given the code snippet below, in Java, complete the method determinePersonTypeCount to print out how many Student and Faculty objects exist within the Person array. You may assume that each object within the Person[] is either referencing a Student or Faculty object.
public static void determinePersonTypeCount(Person[] people){
// Place your code here
}
Please answer JAVA OOP question below:
Consider the following relationship diagram between the Game and VideoGame data defintion classes.
Game has a constructor that takes in two parameters, title (String) and cost (double). The VideoGame constructor has an additional parameter, genre (String). In Java, efficiently write the constructors needed within the Game class and VideoGame classes.
Hint: Remember to think about the appropriate validation
In a shopping cart, there are various items, which can either belong to the category of household items or electronic items. The following UML diagram illustrates the relationship between items, household items, and electronic items.
//Implementation Class
public class ShoppingCart{
public static void main(String[] args){
final int MAX_ITEM = 50;
Item cart = new Item[MAX_ITEM];
addItem(cart); // populate the item array
printItem(cart);
}
}
Considering that all the data definition classes and the implementation class are complete, which of the following Object-Oriented Programming (OOP) concepts do you need to use in the above context?
i) Polymorphism
ii) Method Overloading
iii) Method Overriding
iv) Dynamic Binding
v) Abstract Class
Explain, using course terminology, how you would use any of the above concepts to model the given scenario.
Chapter 21 Solutions
EBK STARTING OUT WITH C++ FROM CONTROL
Ch. 21.1 - Prob. 21.1CPCh. 21.1 - Prob. 21.2CPCh. 21.1 - Prob. 21.3CPCh. 21.1 - Prob. 21.4CPCh. 21.1 - Prob. 21.5CPCh. 21.1 - Prob. 21.6CPCh. 21.2 - Prob. 21.7CPCh. 21.2 - Prob. 21.8CPCh. 21.2 - Prob. 21.9CPCh. 21.2 - Prob. 21.10CP
Ch. 21.2 - Prob. 21.11CPCh. 21.2 - Prob. 21.12CPCh. 21 - Prob. 1RQECh. 21 - Prob. 2RQECh. 21 - Prob. 3RQECh. 21 - Prob. 4RQECh. 21 - Prob. 5RQECh. 21 - Prob. 6RQECh. 21 - Prob. 7RQECh. 21 - Prob. 8RQECh. 21 - Prob. 9RQECh. 21 - Prob. 10RQECh. 21 - Prob. 11RQECh. 21 - Prob. 12RQECh. 21 - Prob. 13RQECh. 21 - Prob. 14RQECh. 21 - Prob. 15RQECh. 21 - Prob. 16RQECh. 21 - Prob. 17RQECh. 21 - Prob. 18RQECh. 21 - Prob. 19RQECh. 21 - Prob. 20RQECh. 21 - Prob. 21RQECh. 21 - Prob. 22RQECh. 21 - Prob. 23RQECh. 21 - Prob. 24RQECh. 21 - Prob. 25RQECh. 21 - Prob. 1PCCh. 21 - Prob. 2PCCh. 21 - Prob. 3PCCh. 21 - Prob. 4PCCh. 21 - Prob. 5PCCh. 21 - Prob. 6PCCh. 21 - Prob. 7PCCh. 21 - Prob. 8PC
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- Answer this JAVA OOP question below: An Employee has a name, employee ID, and department. An Employee object must be created with all its attributes. The UML diagram is provided below: - name: String - employeeId: String - department: String + Employee(name: String, employeeId: String, department: String) + setName(name: String): void + setEmployeeId(employeeId: String): void + setDepartment(department: String): void + getName(): String + getEmployeeId(): String + getDepartment(): String + toString(): String A faculty is an Employee with an additional field String field: rank public class TestImplementation{ public static void main(String[] args){ Employee[] allEmployee = new Employee[100]; // create an employee object with name Tom Evan, employee ID 001 and department IST and store it in allEmployee // create a faculty object with name Adam Scott, employee ID 002, department IST and rank Professor and store it in allEmployee } }arrow_forwardPlease answer this JAVA OOP question that is given below: An Employee has a name, employee ID, and department. An Employee object must be created with all its attributes. The UML diagram is provided below: - name: String - employeeId: String - department: String + Employee(name: String, employeeId: String, department: String) + setName(name: String): void + setEmployeeId(employeeId: String): void + setDepartment(department: String): void + getName(): String + getEmployeeId(): String + getDepartment(): String + toString(): String A faculty is an Employee with an additional field String field: rank Assuming the Employee class is fully implemented, define a Professor class in Java with the following: A toString() method that includes both the inherited attributes and the specializationarrow_forwardPlease answer JAVA OOP question below: An Employee has a name, employee ID, and department. An Employee object must be created with all its attributes. The UML diagram is provided below: - name: String - employeeId: String - department: String + Employee(name: String, employeeId: String, department: String) + setName(name: String): void + setEmployeeId(employeeId: String): void + setDepartment(department: String): void + getName(): String + getEmployeeId(): String + getDepartment(): String + toString(): String A faculty is an Employee with an additional field String field: rank Assuming the Employee class is fully implemented, define a Professor class in Java with the following: Instance variable(s) A Constructorarrow_forward
- Develop a C++ program that execute the operation as stated by TM for addition of two binary numbers (see attached image). Your code should receive two binary numbers and output the resulting sum (also in binary). Make sure your code mimics the TM operations (dealing with the binary numbers as a string of characters 1 and 0, and following the logic to increase the first number and decreasing the second one. Try your TM for the following examples: 1101 and 101, resulting 10010; and 1101 and 11, resulting 10000.arrow_forwardI need to define and discuss the uses of one monitoring or troubleshooting tool in Windows Server 2019. thank youarrow_forwardI would likr toget help with the following concepts: - Windows Server features - Windows Server versus Windows 10 used as a client-server networkarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTNew Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage LearningMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,

C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning

C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage

EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT

New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning

Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,