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
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 =…
(3)
public static void test_b(int n)
{
if (n>0)
test_b(n-2);
System.out.println(n + " ");
Consider the following method:
What is printed by the call test_b(4)?
A. 0 2 4
B. 0 2
C. 2 4
D. 4 2
E. 4 20
3
(4)
What is the efficacy class of +?
n
3
A: ©(1)
B: O (log n)
C: O (n)
D: O (n log n)
E: Θ n)
(Recursion and Backtracking)
Write the pseudo code for a recursive method called addB2D that takes two binary numbers as strings, adds the numbers and returns the result as a decimal integer. For example, addB2D(‘‘101’’, ‘‘11’’) should return 8 (because the strings are binary representation of 5 and 3, respectively).
Your solution should not just simply convert the binary numbers to decimal numbers and add the re- sults. An acceptable solution tries to find the sum by just directly processing the binary representations without at first converting them to decimal values.
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
- Apex(Salesforce) Write the Apex Test Class for the Below Apex Method and also show the code Coverage Output Here is the Apex code: - public with sharing class MyFirstClass { public static Integer performMultiplication(Integer int1, Integer int2) { //Create a variable for checking null values Integer int3=1; //Check if both the integer not null or have some value in it if(int1!=null && int2!=null) { int3 = int1*int2; } else if (int1==null && int2!=null) { int3 = int2; } else if(int1!=null && int2==null) { int3=int1; } return int3; }}arrow_forwardSultan Qaboos University Department of Computer Science COMP2202: Fundamentals of Object Oriented Programming Assignment # 2 (Due 5 November 2022 @23:59) The purpose of this assignment is to practice with java classes and objects, and arrays. Create a NetBeans/IntelliJ project named HW2_YourId to develop a java program as explained below. Important: Apply good programming practices: 1- Provide comments in your code. 2- Provide a program design 3- Use meaningful variables and constant names. 4- Include your name, university id and section number as a comment at the beginning of your code. 5- Submit to Moodle the compressed file of your entire project (HW1_YourId). 1. Introduction: In crowded cities, it's very crucial to provide enough parking spaces for vehicles. These are usually multistory buildings where each floor is divided into rows and columns. Drivers can park their cars in exchange for some fees. A single floor can be modeled as a two-dimensional array of rows and columns. A…arrow_forwardJava Constructor(String) This constructor will take a string of digits(no commas) and turn it into an UnboundedInt object (MUST BE STRING INPUT) UnboundedInt add (UnboundedInt ) A method that adds the current UnboundedInt with a passed in one. The return is a new UnboundedInt. UnboundedInt multiply (UnboundedInt ) - do this one last! A method that multiplies the current UnboundedInt with a passed in one. The return is a new UnboundedInt. void addEnd ( int ) -optional method (helpful) A method to add a new element at the end of the sequence , used for building up each higher term in a single sequence. (i.e. adding a new IntNode to the linked list) UnboundedInt clone( ) a method that returns a copy of the original structure boolean equals ( Object ) a method that returns true if linked list represents the same numerical number as the input parameter. False otherwise. Overrides method in Object class. String toString ( ) creates a string of all elements…arrow_forward
- # Coding - Simulate a robot Write a program that simulates the movements of a robot. The robot can have three possible movements: turn right turn left advance The robot is placed on a hypothetical infinite grid, facing a particular direction (north, east, south, or west) at a set of `{x,y}` coordinates,e.g., `{3,8}`, with coordinates increasing to the north and east. Create a Class `Robot` that contains a method `execute` which given a number of instructions will calculate the robot's new position, and the the direction in which it is pointing. ## Example The letter-string "RAALAL" means: Turn right Advance twice Turn left Advance once Turn left yet again Say a robot starts at `{7, 3}` facing north. Running this stream of instructions should leave it at `{9, 4}` facing west. ## Inputs and Outputs The argument of the `execute` is `string` in the format `X Y BEARING COMMANDS`. The method should return a one-liner `string` in the format `X Y BEARING`. In the…arrow_forward//Todo write test cases for SimpleCalculator Class // No need to implement the actual Calculator class just write Test cases as per TDD. // you need to just write test cases no mocking // test should cover all methods from calculator and all scenarios, so a minimum of 5 test // 1 for add, 1 for subtract, 1 for multiply, 2 for divide (1 for normal division, 1 for division by 0) // make sure all these test cases fail public class CalculatorTest { //Declare variable here private Calculator calculator; //Add before each here //write test cases here }arrow_forward/***Method called by the menu to gather, transform, and verify user*input to be used in the findFile() recursive method*If the input is valid, the findFile() method is called with the parameter*If the input is invalid, action is taken to ensure valid input*/public static void callFindFilePath(){//lets user know the method has been called and creates Scanner for inputSystem.out.println("callFindFilePath() has been called" + "\n");Scanner input = new Scanner(System.in); //declares flag variable for when user does not want to try againboolean tryAgain = true;String findFile = "";String startDirectory = ""; //while loop that continues until user exits the methodwhile(tryAgain){try{//prompts user to enter a directory to search for a file in//and sets input to variable answer, also creates File object set to user inputSystem.out.print("Please Enter a Start Path> ");startDirectory = input.nextLine();File directory = new File(startDirectory); //checks to see if user input is a valid…arrow_forward
- Overview Over the first few Long Weekly Homework assignments for this quarter, we have been building a Sudoku (Links to an external site.) solver program in pieces. This is Part 3 of the Sudoku solver series - the last in the series! In this assignment, we will add a new method to our board class called solve() which will allow us to use recursive backtracking to solve a Sudoku puzzle. Topics recursive backtracking Solving a Sudoku Puzzle What does it look like to recursively try and solve a Sudoku puzzle? Basically you try to place the values 1-9 in the empty spots of a Sudoku puzzle (move forward with a brute force attempt) until you either reach an invalid state (which causes you to backtrack) or you solve the puzzle or find out it's unsolvable (which ends the recursion). Instructions Part 0: Make a copy of your Sudoku #2 Solution We will be building off your Sudoku #2 solution. I recommend beginning this assignment by making a new folder with a copy of your Sudoku #2 solution…arrow_forward#pyhton programing topic: Introduction to Method and Designing class Method overloading & Constructor overloading ------------------ please find the attached imagearrow_forwardJava (Generic Method) - What Order?arrow_forward
- X15: inOrder Write a function in Java that implements the following logic: Given three ints, a, b , and c,return true if b is greater than a, and c is greater than b.However, with the exception that if bok is true, b does not need to be greater than a.arrow_forwardC# (Generic Method IsEqualTo) Write a simple generic version of method IsEqualTo that compares its two arguments with the Equals method, and returns true if they’re equal and false otherwise. Use this generic method in a program that calls IsEqualTo with a variety of simple types, such as object or int. What result do you get when you attempt to run this program?arrow_forwardOct 13 8:38 Aarrow_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