Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
11th Edition
ISBN: 9780134670942
Author: Y. Daniel Liang
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 25, Problem 25.7PE
Program Plan Intro
Program Plan:
Include the required packages. Define the class “Test”.
- Define the driver method “main”.
- Declare the object for the “BST” class.
- Call the method “insert” to add string values to the tree.
- Call the “getNumberOfNonLeaves” method and display the result.
- Define the “BST” class.
- Define the “getNumberOfNonLeaves” method.
- Return the number of non-leaves node.
- Define the overridden method “getNumberOfNonLeaves”.
- If the “root” is “null”,
-
- return “0”.
- If the “root.left” or “root.right” is not “null”,
-
- Return the number of non-leaves node.
- Otherwise,
-
- return “0”.
- Declare the required variables.
- Create a constructor for “BST” class.
- Create a constructor for “BST” by passing array of objects.
- Define the “search” method to search the required data in the binary search tree.
- Define the “insert” method.
- If the root is null create the tree otherwise insert the value into left or right subtree.
- Define the “createNewNode”
- Return the result of new node creations.
- Define the “inorder”
- Inorder traverse from the root.
- Define the protected “inorder” method
- Traverse the tree according to the inorder traversal concept.
- Define the “postorder”
- Postorder traverse from the root.
- Define the protected “postorder” method
- Traverse the tree according to the postorder traversal concept.
- Define the “preorder”
- Preorder traverse from the root.
- Define the protected “preorder” method
- Traverse the tree according to the preorder traversal concept.
- Define the “TreeNode” class
- Declare the required variables.
- Define the constructor.
- Define the “getSize” method.
- Return the size.
- Define the “getRoot” method
- Return the root.
- Define the “java.util.ArrayList” method.
- Create an object for the array list.
- If the “current” is not equal to null, add the value to the list.
- If the “current” is less than 0, set the “current” as left subtree element otherwise set the “current” as right subtree element.
- Return the list.
- Define the “delete” method.
- If the “current” is not equal to null, add the value to the list.
- If the “current” is less than 0, delete the “current” as left subtree element otherwise delete the “current” as right subtree element.
- Return the list.
- Define the “iterator” method.
- Call the “inorderIterator” and return the value.
- Define the “inorderIterator”
- Create an object for that method and return the value
- Define the “inorderIterator” class.
- Declare the variables.
- Define the constructor.
-
- Call the “inorder” method.
- Define the “inorder” method.
-
- Call the inner “inorder” method with the argument.
- Define the TreeNode “inorder” method.
-
- If the root value is null return the value, otherwise add the value into the list.
- Define the “hasNext” method
-
- If the “current” value is less than size of the list return true otherwise return false.
- Define the “next” method
-
- Return the list.
- Define the “remove” method.
-
- Call the delete method.
- Clear the list then call the “inorder” method.
- Define the “clear” method
- Set the values to the variables
- Define the overridden method “getNumberOfNonLeaves”.
- Return the number of non-leaves node.
- Define the “getNumberOfNonLeaves” method.
- Define the interface.
- Declare the required methods.
- Define the required methods.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Please help me with this , I am stuck ! PLEASE WRITE IT IN C++
Thanks
1) bagUnion: The union of two bags is a new bag containing the combined contents of the original two bags. Design and specify a method union for the ArrayBag that returns as a new bag the union of the bag receiving the call to the method and the bag that is the method's parameter. The method signature (which should appear in the .h file and be implemented in the .cpp file is:
ArrayBag<T> bagUnion(const ArrayBag<T> &otherBag) const;
This method would be called in main() with:
ArrayBag<int> bag1u2 = bag1.bagUnion(bag2);
Note that the union of two bags might contain duplicate items. For example, if object x occurs five times in one bag and twice in another, the union of these bags contains x seven times. The union does not affect the contents of the original bags.
Here is the main file:
#include <cstdlib>#include <iostream>#include "ArrayBag.h"using namespace std;
template…
(Triangle class) Design a new Triangle class that extends the abstract GeometricObject class.
Draw the UML diagram for the classes Triangle and GeometricObject and then implement
the Triangle class. Write a test program that prompts the user to enter three sides of the
triangle, a colour, and a Boolean value to indicate whether the triangle is filled. The program
should create a Triangle object with these sides and set the colour and filled properties using
the input. The program should display the area, perimeter, colour, and true or false to indicate
whether it is filled or not.
(Triangle class) Design a new Triangle class that extends the abstract
Geometricobject class. Draw the UML diagram for the classes Triangle and
Geometricobject then implement the Triangle class. Write a test program
that prompts the user to enter three sides of the triangle, a color, and a Boolean
value to indicate whether the triangle is filed. The program should create a Tri-
angle object with the se sides, and set the color and filled properties using the
input. The program should display the area, perimeter, color, and true or false to
indicate whether it is filled or not.
Chapter 25 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Ch. 25.2 - Prob. 25.2.1CPCh. 25.2 - Prob. 25.2.2CPCh. 25.2 - Prob. 25.2.3CPCh. 25.2 - Prob. 25.2.4CPCh. 25.2 - Prob. 25.2.5CPCh. 25.3 - Prob. 25.3.1CPCh. 25.3 - Prob. 25.3.2CPCh. 25.3 - Prob. 25.3.3CPCh. 25.3 - Prob. 25.3.4CPCh. 25.4 - Prob. 25.4.1CP
Ch. 25.4 - Prob. 25.4.2CPCh. 25.4 - Prob. 25.4.3CPCh. 25.4 - Prob. 25.4.4CPCh. 25.4 - Prob. 25.4.5CPCh. 25.5 - Prob. 25.5.1CPCh. 25.5 - Prob. 25.5.2CPCh. 25.5 - Prob. 25.5.3CPCh. 25.5 - Prob. 25.5.4CPCh. 25.5 - Prob. 25.5.5CPCh. 25.6 - Prob. 25.6.1CPCh. 25.6 - Prob. 25.6.2CPCh. 25.6 - Prob. 25.6.3CPCh. 25.6 - How do you replace lines 9499 in Listing 25.11...Ch. 25 - Prob. 25.1PECh. 25 - (Implement inorder traversal without using...Ch. 25 - (Implement preorder traversal without using...Ch. 25 - (Implement postorder traversal without using...Ch. 25 - Prob. 25.6PECh. 25 - Prob. 25.7PECh. 25 - (Implement bidirectional iterator) The...Ch. 25 - Prob. 25.9PECh. 25 - Prob. 25.10PECh. 25 - Prob. 25.11PECh. 25 - (Test BST) Design and write a complete test...Ch. 25 - (Modify BST using Comparator) Revise BST in...Ch. 25 - Prob. 25.15PECh. 25 - (Data compression: Huffman coding) Write a program...Ch. 25 - Prob. 25.17PECh. 25 - (Compress a file) Write a program that compresses...Ch. 25 - (Decompress a file) The preceding exercise...
Knowledge Booster
Similar questions
- Edit only the class definition. DO NOT CHANGE the code given under 'main' please. Steps: Additionally implement any Python Magic/Dunder methods such that instances of the class minimally:1. Support addition, subtraction, equality operations and the built-in abs function2. Are Iterable i.e., support for loops and star arguments for unpacking into function calls3. Support a string representation that displays the class name and coordinates stored by the instance: i.e. for an object initialized as: Vector(0, 3), the string representation should be ‘Vector(0, 3)’The code given under main tests for each of the program requirements and subsequently uses the turtle module to plot randomly generated points rotated. A screenshot for a sample run of the program is attached. Template.py: from math import hypot, pi from random import uniform import turtle as t class Vector2D: ... if __name__ == '__main__': # Test Vector class a, b = Vector2D(0, 3), Vector2D(0, -3) tests =…arrow_forward(T/F) Mutable classes can easily be made immutable by taking out the setter methods. Yes o Noarrow_forward(The Account class) Account -id: int -balance: double -annualInterestRate : double -dateCreated : Date +Account( ) +Account(someId : int, someBalance : double) +getId() : int +setId(newId : int) : void +getBalance() : double +setBalance(newBalance : double) : void +getAnnualInterestRate( ) : double +setAnnualInterestRate(newRate : double) : void +getDateCreated( ) : Date +getMonthlyInterestRate( ) : double +getMonthlyInterest( ) : double +withdraw(amt : double) : void +deposit(amt : double) : void Design a class named Account that contains: ■ A private int data field named id for the account (default 0). ■ A private double data field named balance for the account (default 0). ■ A private double data field named annualInterestRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate. Make it static. ■ A private Date data field named dateCreated that stores the date when the account was created. (private Date dateCreated)…arrow_forward
- (Conversions between feet and meters) Write a class that contains the following two methods: /** Convert from feet to meters */ public static double footTOMeter(double foot) /** Convert from meters to feet */ public static double meterToFoot(double meter) The formula for the conversion is: meter = 0.305 * foot foot = 3.279 * meter Write a test program that invokes these methods to display the following tables: Feet Meters Meters Feet 1.0 0.305 20.0 65.574 2.0 0.610 25.0 81.967 ... 9.0 2.745 60.0 196.721 10.0 3.050 65.0 213.115arrow_forward// The language is java Part I: Use of recursive method (4 points for students who need recursion/extracredit) Description: Code a class called RecursiveMultiply in which it will accept two integer arguments entered from user; pass these integers to a recursive method that returns the multiplication result of these two integers. The multiplication can be performed as repeated addition, for example, if two integers are 7 and 4: 8 * 4 = 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 You will write the application with GUI and recursion to display the result in a noneditable text field, based on the user’s entry from two text fields, while an OK button is pressed. You will utilize the exception handling code as you did in your Lab 4 and Lab 5 to verify if data entered in the text fields are valid (numerical and positive data only). You will make your own decision if there is any explanation that is not described in this specification. Finally, code a driver program that will test your class…arrow_forwardc) Write a public static method getFirstD() with the following: o The method accepts 2 arguments: the first argument is an array of int, and the second is a value of int. The method returns a value of int type. o The method finds and returns the last element in the array which is divisible by the second argument, e.g. 8 is divisible by 4, but 9 is not divisible by 4. I The method returns your student ID number, if no divisible number is found in the array. Use a while loop to access the array elements. *NO more than 6 statement lines are allowed in the method body. YRIGHarrow_forward
- Method overloading: given the following methods, write down the printed output of the method calls.arrow_forwardgetSumEven Method; (Java) *Do not change method parameters* public static int getSumEven(int[] array) Returns the sum of even values (if any) present in the array parameter. You can assume array is not null. You may only use one auxiliary function. Your implementation must be recursive and you may not use any loop construct. Do not use ++ or -- in any recursive call argument. It may lead to an infinite recursion. For example, use index + 1, instead of index++. Parameters: array - Returns: Sum of even valuesarrow_forwardProblem 3 (Comparing Student Data)Write a method called compare_average() that takes a student object as a parameter.This method must compare the average grades of the calling object with that of theparameter object and print the results. It does not return anything.See the sample output below. Alice has a higher average than BobBob has a higher average than CathyAlice has a higher average than Cathyarrow_forward
- task4-Change Summation Integers problem to Finding the minimumproblem. Make sure you properly wrote/updated all text messages, method names,and math calculations.Hint: You can use java.lang.Math.min() method.Example: System.out.printf("The min of the integers %4d and %4d and %4dis %7d\n", a, b, c, MinTest(a, b, c));Submit the source code files (.java files) and the console output screenshotsarrow_forward(Difficulty Level 3)In the game Flick Fleet, players undertake space combat by flicking a six sided die at other ships. There is an object called SpaceShip, where ships have a type corresponding to: Destroyer, Cruiser, Bomber, or Fighter. This object has a method called: get_ship_type(): Returns a string that corresponds to the type of ship (e.g. "Destroyer", "Cruiser", "Bomber" or "Fighter") Each ship has different regions that have a corresponding number between 1 and 5. Fighter - Hull (1), Engines (2) Bomber - Hull (1), Engines (2), Shield Generator (3) Cruiser - Hull (1), Engines (2), Shield Generator (3), Defense Grid (4) Destroyer - Hull (1), Engines (2), Shield Generator (3), Defense Grid (4), Engineering (5) Write a function called laser_attack that takes in as its parameters a ship of type Ship, and an integer value between 1 and 6. This function should return true if the number passed in the second parameter corresponds to a region possessed by the ship…arrow_forward(Tic-Tac-Toe) Write a program that allows two players to play the tic-tac-toe game. Your program must contain the class ticTacToe to implement a ticTacToe object. Include a 3-by-3 two-dimensional array, as a private member variable, to create the board. If needed, include additional member variables. Some of the operations on a ticTacToe object are printing the current board, getting a move, checking if a move is valid, and determining the winner after each move. Add additional operations as needed.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education