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
Concept explainers
Textbook Question
Chapter 18.9, Problem 18.9.1CP
Which of the following statements are true?
- a. Any recursive method can be converted into a nonrecursive method.
- b. Recursive methods take more time and memory to execute than nonrecursive methods.
- c. Recursive methods are always simpler than nonrecursive methods.
- d. There is always a selection statement in a recursive method to check whether a base case is reached.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Which of the following is/are true regarding the characteristics of recursion?
a.Every recursive call reduces the original problem, bringing it increasingly closer to a base case until it becomes that case.
b.Recursive method requires less memory than an iterative method.
c. It is possible to convert every recursive method to an iterative method.
d.The method is implemented using an if-else or a switch statement that leads to different cases.
e.One or more base cases are used to stop recursion.
When writing a recursive method,
you do not need to know ahead of time exactly how many levels of recursion will occur.
you must keep count of how many recursion call levels you have traversed.
you must make sure the method does not take any input parameters.
Which of the following
statements are correct?
Iteration is always worse than
recursion.
Recursion uses more memory than
an iterative approach.
Recursion uses less memory than an
iterative approach.
O Iterative function is always easier to
write than recursion.
Chapter 18 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Ch. 18.2 - What is a recursive method? What is an infinite...Ch. 18.2 - Prob. 18.2.2CPCh. 18.2 - Show the output of the following programs and...Ch. 18.2 - Prob. 18.2.4CPCh. 18.2 - Prob. 18.2.5CPCh. 18.2 - Write a recursive mathematical definition for...Ch. 18.3 - Prob. 18.3.1CPCh. 18.3 - What is wrong in the following methods?Ch. 18.3 - Prob. 18.3.3CPCh. 18.4 - Describe the characteristics of recursive methods.
Ch. 18.4 - Prob. 18.4.2CPCh. 18.4 - Prob. 18.4.3CPCh. 18.5 - Prob. 18.5.1CPCh. 18.5 - Prob. 18.5.2CPCh. 18.5 - What is a recursive helper method?Ch. 18.6 - Prob. 18.6.1CPCh. 18.6 - How does the program get all files and directories...Ch. 18.6 - How many times will the getSize method be invoked...Ch. 18.6 - Will the program work if the directory is empty...Ch. 18.6 - Will the program work if line 20 is replaced by...Ch. 18.6 - Will the program work if lines 20 and 21 are...Ch. 18.7 - Prob. 18.7.1CPCh. 18.8 - Prob. 18.8.1CPCh. 18.8 - Prob. 18.8.2CPCh. 18.8 - How many times is the displayTriangles method...Ch. 18.8 - Prob. 18.8.4CPCh. 18.8 - Prob. 18.8.5CPCh. 18.9 - Which of the following statements are true? a. Any...Ch. 18.9 - Prob. 18.9.2CPCh. 18.10 - Identify tail-recursive methods in this chapter.Ch. 18.10 - Rewrite the fib method in Listing 18.2 using tail...Ch. 18 - Prob. 18.1PECh. 18 - Prob. 18.2PECh. 18 - (Compute greatest common divisor using recursion)...Ch. 18 - (Sum series) Write a recursive method to compute...Ch. 18 - (Sum series) Write a recursive method to compute...Ch. 18 - (Sum series) Write a recursive method to compute...Ch. 18 - (Fibonacci series) Modify Listing 18.2,...Ch. 18 - Prob. 18.8PECh. 18 - (Print the characters in a string reversely) Write...Ch. 18 - (Occurrences of a specified character in a string)...Ch. 18 - Prob. 18.11PECh. 18 - (Print the characters in a string reversely)...Ch. 18 - (Find the largest number in an array) Write a...Ch. 18 - (Find the number of uppercase letters in a string)...Ch. 18 - Prob. 18.15PECh. 18 - (Find the number of uppercase letters in an array)...Ch. 18 - (Occurrences of a specified character in an array)...Ch. 18 - (Tower of Hanoi) Modify Listing 18.8,...Ch. 18 - Prob. 18.19PECh. 18 - (Display circles) Write a Java program that...Ch. 18 - (Decimal to binary) Write a recursive method that...Ch. 18 - (Decimal to hex) Write a recursive method that...Ch. 18 - (Binary to decimal) Write a recursive method that...Ch. 18 - (Hex to decimal) Write a recursive method that...Ch. 18 - Prob. 18.25PECh. 18 - (Create a maze) Write a program that will find a...Ch. 18 - (Koch snowflake fractal) The text presented the...Ch. 18 - (Nonrecursive directory size) Rewrite Listing...Ch. 18 - (Number of files in a directory) Write a program...Ch. 18 - (Game: Knights Tour) The Knights Tour is an...Ch. 18 - (Game: Knights Tour animation) Write a program for...Ch. 18 - (Game: Eight Queens) The Eight Queens problem is...Ch. 18 - Prob. 18.35PECh. 18 - (Sierpinski triangle) Write a program that lets...Ch. 18 - (Hilbert curve) The Hilbert curve, first described...Ch. 18 - (Recursive tree) Write a program to display a...Ch. 18 - Prob. 18.39PE
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
Define a class CircleCalculator that hat only two methods, getArea and getCircumference. These methods return t...
Java: An Introduction to Problem Solving and Programming (7th Edition)
(Fisher-Yates Shuffling Algorithm) Research the Fisher-Yates shuffling algorithm online, then use it to reimple...
C How to Program (8th Edition)
(Population growth) A certain city had a population of 25000 in 1960 and a population of 30,000 in 1970. Assume...
Differential Equations: Computing and Modeling (5th Edition), Edwards, Penney & Calvis
A program is a set of _______.
Starting Out with C++ from Control Structures to Objects (9th Edition)
What are the advantages and disadvantages of implicit declarations?
Concepts Of Programming Languages
A file that contains a Flash animation uses the __________ file extension. a. .class b. .swf c. .mp3 d. .flash
Web Development and Design Foundations with HTML5 (8th Edition)
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
- JAVA Question 2: For two integers m and n, their GCD (Greatest Common Divisor) can be computed by a recursive method. Write a recursive method gcd(m,n) to find their Greatest Common Divisor. Method body: If m is 0, the method returns n. If n is 0, the method returns m. If neither is 0, the method can recursively calculate the Greatest Common Divisor with two smaller parameters: One is n, the second one is m mod n (or m % n). The recursive method cannot have loops. Note: although there are other approaches to calculate Greatest Common Divisor, please follow the instructions in this question, otherwise you will not get the credit. main method: Prompt and read in two numbers to find the greatest common divisor. Call the gcd method with the two numbers as its argument. Print the result to the monitor. Example program run: Enter m: 12 Enter n: 28 GCD(12,28) = 4 And here is what I have so far, package CSCI1302;import java.util.*;public class RecursionDemo { public static void…arrow_forwardGiven the sequence, S2 = 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, … Write a RECURSIVE method called “sequence2” that takes a single int parameter (n) and returns the int value of the nth element of the sequence S2. You will need to determine any base cases and a recursive case that describes the listed sequence. Use the following code to test your answers to questions 3 and 4the output should print the two sequences given (S & S2): public class TestSequences { public static void main(String[] args) { for(int i = 0; i < 10; i++) { System.out.print(sequence(i) + " "); // 2, 4, 6, 12, 22, 40, 74, 136, 250, 460 } System.out.println(); for(int i = 0; i < 10; i++) { System.out.print(sequence2(i) + " "); // 1, 2, 4, 5, 7, 8, 10, 11, 13, 14 } } // *** Your method for sequence here *** // *** Your method for sequences2 here *** } // end of TestSequences classarrow_forwardIndirect recursion is when function A calls function B, which in turn calls function A. is it true or false.arrow_forward
- 1. Write a recursive method expFive(n) to compute y=5^n. For instance, if n is 0, y is 1. If n is 3, then y is 125. If n is 4, then y is 625. The recursive method cannot have loops. Then write a testing program to call the recursive method. If you run your program, the results should look like this: > run RecExpTest Enter a number: 3 125 >run RecExpTest Enter a number: 3125 2. For two integers m and n, their GCD(Greatest Common Divisor) can be computed by a recursive function. Write a recursive method gcd(m,n) to find their Greatest Common Divisor. Once m is 0, the function returns n. Once n is 0, the function returns m. If neither is 0, the function can recursively calculate the Greatest Common Divisor with two smaller parameters: One is n, the second one is m mod n. Although there are other approaches to calculate Greatest Common Divisor, please follow the instructions in this question, otherwise you will not get the credit. Meaning your code needs to follow the given algorithm. Then…arrow_forwardWrite a recursive function that takes a positive integer and returns the factorial of that integer. Attention, the function must be recursive, and its name must be "fatorial".arrow_forward12 - question The following method is a recursive pow method to compute exponents, there is a logical error in this code. Please choose the line which has the error. 1. public static int pow (int x, int y) { 2. if (y>1) 3. return x * pow (x, y - 1); 4. else 5. return y; 6. } a. Line 2 b. Line 3 C. Line 4 d. Line 5arrow_forward
- If your first name starts with a letter from A-J inclusively: Write a recursive method that takes a string as argument and determines if the string has more vowels than consonants. Test the method by asking the user to enter a string. Hint: Write your recursive method to first count vowels and consonants.arrow_forwardWrite a recursive solution to the problem below. You MUST use only one method, and that method must have the provided method header. You are allowed to use loops, but you must also use recursion. Given a word of length n, print every possible word of length n that can be made with those characters. Note: The order of the output does not matter, only that all possibilities are listed. Example: Input: rot Output: rot, rto, otr, ort, tro, tor Input: frog Output: frog, frgo, fogr, forg, fgro, fgor, rogf, rofg, rgfo, rgof, rfog, rfgo, ogfr, ogrf, ofrg, ofgr, orgf, orfg, gfro, gfor, grof, grfo, gofr, gorf public void printAllPossibilities (String prefix, String suffix){ }arrow_forwardIN #4, CODE THE FOLLOWING METHOD DEFINITIONS. 4a. Write a recursive implementation of the Fibonacci function.arrow_forward
- Write a recursive function that returns a value of 1 if its string argument is apalindrome and zero otherwise.* Note that for the function parameters, you need to accommodate for the shrinkingstring, so that the string shrinks both from beginning and end after each recursive call.** Think about the simple cases or base cases. The 2 base cases have conditions thatwould return 0 and return 1 independently.For the palindrome, create a driver program. First ask the user to enter anystring through the keyboard. Then remove all the spaces and punctuations from thestring. Also, remove any letter capitalization from the string. Finally, pass the string tothe palindrome function through a function call.arrow_forwardPlease Give answer in C# Write a recursive method which sums all the even numbers up to a given number. For example if you call it with 10, it would return 30 because 10+8+6+4+2=30 Write a RECURSIVE method called sumEven It must take in an int (the max you wish to sum to) It must return an int (the sum) If it's passed in an even number it should sum the number passed in with all the even numbers before it. For example if passed 8, it would sum 8+6+4+2=20 If it's passed an odd number it should still sum only the EVEN numbers. What we mean is that sumEven(9) should return 8+6+4+2=20. Not 9+7+5+3+1. Hint: You'll have an if statement with the base condition, an else if for even and an else if for odd. In the case of odd, just call yourself with the next lowest even number. In your main method, open a file called "Carlton.txt" for writing. Use a loop to call the method above multiple times and print a line to the file for each iteration of the loop: The sum of even numbers up to 0 is 0 The…arrow_forwardExercise-3: Write a recursive and iterative methods to convert a decimal number to its binary equivalent string. The iterative algorithm (in pseudo-code) for converting a decimal integer into a binary integer as follows: 1. If the integer is 0 or 1, its binary equivalent is 0 or 1. 2. If the integer is greater than or equal to 2 do the following: 3. Divide the integer by 2. 4. Separate the result into a quotient and remainder. 5. Divide the quotient again and repeat the process until the quotient is zero. 6. Write down all remainders in reverse order as a string. 7. This string is the binary equivalent of the given integer. // Recursive decimal to binary method public static String dec2binRecursive(int n) { if (n<2) return n+ " ". else return dec2binRecursive(n/2) + n%2; } a) Write the Complete program for above Recursive decimal to binary method Algorit b) Iterative decimal to binary methodarrow_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 Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License