Data Structures and Algorithms in Java
6th Edition
ISBN: 9781118771334
Author: Michael T. Goodrich
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Concept explainers
Textbook Question
Chapter 5, Problem 30P
Write a
Expert Solution & Answer
Learn your wayIncludes step-by-step video
schedule04:31
Students have asked these similar questions
Make a recursive method for factoring an integer n. First, find a factor f, then recursively factor n / f. This assignment needs a resource class and a driver class; these two classes will need to be in two separate files. The resource class will contain all of the methods and the driver class only needs to call the methods. The driver class needs to have only 5 lines of code. The code needs to be written in Java.
For this exercise, you will create several recursive functions in order to get a better understanding of how recursion works. In exercise 2, we will illustrate using recursion for creating art.
Create a new project in IntelliJ called Recursion. Add a new Java class called Recursion with a public static main function. You will add several functions to your Recursion class as follows:
1 Write a recursive function int sum(int n) that adds up the numbers from n to 1 and print your result. For example from main do the following:
Recursion recursion = new Recursion();System.out.println(recursion.sum(6));
1.2 Write a recursive function factorial(int n) that calculates the factorial of n. Print out the results. Add your function to your Recursion class.
1.3. Write a recursive function powerOf10(int n) that calculates 10n.
1.4. Write a more general recursive function powerOfN(int x, int p) that calculates the power of xp. Do not use the Math.pow function.
1.5.…
Implement the vacuum cleaning agent function in Python/Java for the scenario described below: Consider two-dimensional Boolean array of size m x n (m and n can each be equal to 4) where m is the number of rows, and n is the number of columns. Obtain numerical positive integer values for m and n as inputs from the user. Generate random numbers and scale them down to either a “0” or a “1” according to whether they represent “Clean” or “Dirty”, respectively. After filling the array with 0s or 1s, start at some random array position indicating the initial position of the vacuum cleaner. First check if at that current position, there is the presence of a “Dirt” or not determined by whether 0 or 1 is filled in at that initial position of the vacuum cleaner. If there is a “Dirt”, clean it, and if there is no “Dirt” do a No-operation. After this is done, generate random numbers modulo 4 to obtain random numbers 0, 1, 2, 3 indicating whether to take a left, right, up or down correspondingly. If…
Chapter 5 Solutions
Data Structures and Algorithms in Java
Ch. 5 - Prob. 1RCh. 5 - Prob. 2RCh. 5 - Prob. 3RCh. 5 - Prob. 4RCh. 5 - Prob. 5RCh. 5 - Draw the recursion trace for the execution of...Ch. 5 - Prob. 7RCh. 5 - Describe a recursive algorithm for converting a...Ch. 5 - Prob. 9RCh. 5 - Prob. 10R
Ch. 5 - Prob. 11CCh. 5 - Prob. 12CCh. 5 - Give a recursive algorithm to compute the product...Ch. 5 - In Section 5.2 we prove by induction that the...Ch. 5 - Write a recursive method that will output all the...Ch. 5 - In the Towers of Hanoi puzzle, we are given a...Ch. 5 - Write a short recursive Java method that takes a...Ch. 5 - Write a short recursive Java method that...Ch. 5 - Use recursion to write a Java method for...Ch. 5 - Write a short recursive Java method that...Ch. 5 - Prob. 21CCh. 5 - Prob. 22CCh. 5 - Prob. 23CCh. 5 - Isabel has an interesting way of summing up the...Ch. 5 - Prob. 25CCh. 5 - Prob. 26CCh. 5 - Prob. 27PCh. 5 - Write a program for solving summation puzzles by...Ch. 5 - Prob. 29PCh. 5 - Write a program that can solve instances of the...
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
Write SQL queries to answer the following questions: What are the names of the course(s) that student Altvater ...
Modern Database Management
Compare and contrast the while and for iteration statements.
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Write Python code that prompts the user to enter his or her height and assigns the user's input to a variable n...
Starting Out with Python (4th Edition)
(Attributes of Hybrid Vehicles) In this chapter you learned the basics of classes. Now youll begin fleshing out...
Java How To Program (Early Objects)
(Linear Search) Modify the program of Fig. 6.18 to use a recursive linearSearch function to perform the linear ...
C How to Program (8th Edition)
A dataset has 1000 records and 50 variables with 5% of the values missing, spread randomly throughout the recor...
Data Mining for Business Analytics: Concepts, Techniques, and Applications with XLMiner
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
- Language is C++ The purpose of this project is to test your ability to use files, strings (Strings?), and libraries effectively in program design. A popular past-time is the word search puzzle (if you don't believe me, look in your daily paper and in the news stand in the check-out line at the grocery store). In such a puzzle, a grid of letters is presented which presumably contains words. However, the words are cleverly hidden among the other letters. Their camouflage is aided by them being aligned in many different orientations: horizontal, vertical, diagonal, and sometimes even backwards! The person's goal is to find the words and circle each one. Most often the person is also given a list of the words which should be found: apple hananabs pear mpearoap banana npsgrape grape uleapnbm orange aenuraol agrafnel epanqust bananais located backwards across the top row. appledrops down from the last ain banana. pearis forwards from the first pin apple. grapeis on the line below this.…arrow_forwardWrite a program in C++ that can perform encryption and decryption using an arbitrary substitution cipher. In this case, the encrpyion array is a random shuffling of the letters in the alphabet. Your program should generate a random encryption array, its corresponding decryption array, and use these to encode and decode the message.arrow_forwardWrite a program in java that prints an array using one loop even if it's a 2 dimentional array while using recursion. Include the main program and a sample and all.arrow_forward
- Write a program that uses a recursive call to find the integer logb of a number. Where logb returns the integer log of a number in a designated base. For example, the integer base 10 log of 1234 is 3, and the integer base 2 log of 1234 is 10. This is a relatively easy calculation. You simply repeatedly divide the number by the base using integer division until the quotient is less than the base and count the number of completed divisions. 1234/10=123 (1) 123/10 12 (2) 12/10 = 1 (3) 1234/2= 617 (1) 617/2 = 308 (2) 308/2 = 154 (3) 154/2 = 77 (4) 77/2 = 38 (5) 38/2 = 19 (6) 19/2 = 9 (7) 9/2=4 (8) 4/2=2(9) 2/2 = 1 (10)arrow_forwardIt is known that a matrix can be understood (in python) by a list of lists. In this context, make a program that receives 9 numbers, organize them in a matrix 3 x 3 and print this matrix and its transpose. In Phyton3arrow_forwardWrite a program that lists all Fibonacci numbers that are less than or equal to the number k (k≥2) entered by the user. Definition:The Fibonacci sequence is a sequence of numbers in which each additional term is the sum of the previous two. It is based on the fact that each member of the sequence is formed by the sum of the previous two members, the sequence starting with the numbers 1 and 1. (Example 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233 , 377, 610, 987 write program in c languagearrow_forward
- Python Please. An interesting puzzler for chess buffs is the Knight’s Tour problem, originally proposed by the mathematician Euler. Can the knight piece move around an empty chessboard and touch each of the 64 squares once and only once? We study this intriguing problem in depth here. The knight makes only L-shaped moves (two spaces in one direction and one space in a perpendicular direction). Thus, as shown in the figure below, from a square near the middle of an empty chessboard, the knight (labeled K) can make eight different moves (numbered 0 through 7). A: Draw an eight-by-eight chessboard on a sheet of paper, and attempt a Knight’s Tour by hand. Put a 1 in the starting square, a 2 in the second square, a 3 in the third, and so on. Before starting the tour, estimate how far you think you’ll get, remembering that a full tour consists of 64 moves. How far did you get? Was this close to your estimate? B: Now let’s develop a script that will move the knight around a chessboard…arrow_forwarduse The C Programming Language Online Compile for Recamán's Sequence Implement this in a program. Write two functions, one for solving it iteratively, one for solving it recursively. Take two arguments from the command-line: an "i" or "r", and the term number (how many terms to print). Print out which method executed (was selected) and all the terms (and the number of terms).arrow_forwardWrite a program that lists all ways people can line up for a photo (all permutations of a list of strings). The program will read a list of one word names (until -1), and use a recursive method to create and output all possible orderings of those names, one ordering per line. When the input is: Julia Lucas Mia -1 then the output is (must match the below ordering): Julia Lucas Mia Julia Mia Lucas Lucas Julia Mia Lucas Mia Julia Mia Julia Lucas Mia Lucas Julia partial code below, only lines 9-11, and 18 can be added onto, the rest must stay the same. #include <vector>#include <string>#include <iostream> using namespace std; // TODO: Write method to create and output all permutations of the list of names.void AllPermutations(const vector<string> &permList, const vector<string> &nameList) { } int main(int argc, char* argv[]) { vector<string> nameList; vector<string> permList; string name; // TODO: Read in a list of names; stop…arrow_forward
- Write a program that lists all ways people can line up for a photo (all permutations of a list of strings). The program will read a list of one word names (until -1), and use a recursive method to create and output all possible orderings of those names, one ordering per line. When the input is: Julia Lucas Mia -1 then the output is (must match the below ordering): Julia Lucas Mia Julia Mia Lucas Lucas Julia Mia Lucas Mia Julia Mia Julia Lucas Mia Lucas Julia Partially done code (C++): #include <vector>#include <string>#include <iostream> using namespace std; // TODO: Write method to create and output all permutations of the list of names.void AllPermutations(const vector<string> &permList, const vector<string> &nameList) { } int main(int argc, char* argv[]) {vector<string> nameList;vector<string> permList;string name; // TODO: Read in a list of names; stop when -1 is read. Then call recursive method.return 0;}arrow_forwardWrite a program that lists all ways people can line up for a photo (all permutations of a list of strings). The program will read a list of one word names (until -1), and use a recursive method to create and output all possible orderings of those names, one ordering per line. When the input is: Julia Lucas Mia -1 then the output is (must match the below ordering): Julia Lucas Mia Julia Mia Lucas Lucas Julia Mia Lucas Mia Julia Mia Julia Lucas Mia Lucas Julia main.cpp #include <vector>#include <string>#include <iostream> using namespace std; // TODO: Write method to create and output all permutations of the list of names.void AllPermutations(const vector<string> &permList, const vector<string> &nameList) { } int main(int argc, char* argv[]) {vector<string> nameList;vector<string> permList;string name; // TODO: Read in a list of names; stop when -1 is read. Then call recursive method.return 0;}arrow_forwardWrite a program in java in which we had an array and you have to find Whether this array is monotonic or notarrow_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
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License