
MyLab Programming with Pearson eText -- Access Card -- for Introduction to Java Programming and Data Structures, Comprehensive Version
11th Edition
ISBN: 9780134672816
Author: Liang
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 18, Problem 18.25PE
Program Plan Intro
String permutation
Program plan:
- Import required packages
- Declare the main class named “Main”.
- Give the main method “public static void main ()”.
- Create an object “sc” for the scanner class.
- Get the string from the user and store it in a variable “str”.
- Print the result by calling the function “displayPermutation ()”.
- Give function definition for the static method “displayPermutation ()”.
- Call the helper method.
- Give function definition for the static helper method “displayPermutation ()”.
- Check if the length of the string is greater than p.
- Loop through the length.
- Call the function recursively.
- Loop through the length.
- Else,
- Print the string.
- Check if the length of the string is greater than p.
- Give the main method “public static void main ()”.
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
I need help in construct a matlab code to find the voltage, the currents, and the watts based on that circuit.
Objective
Implement Bottom-Up Iterative MergeSort and analyze its efficiency compared to
recursive MergeSort. Unlike the recursive approach, which involves multiple function
calls and stack overhead, the bottom-up version sorts iteratively by merging small
subarrays first, reducing recursion depth and improving performance.
Task
1. Implement Bottom-Up Iterative MergeSort
о Start with single-element subarrays and iteratively merge them into larger
sorted sections.
Use a loop-based merging process instead of recursion.
○ Implement an efficient in-place merging strategy if possible.
2. Performance Analysis
Compare execution time with recursive MergeSort on random, nearly
sorted, and reversed datasets.
○ Measure and plot time complexity vs. input size.
O
Submission
Explain why the iterative version reduces function call overhead and when
it performs better.
•
Code implementation with comments.
•
A short report (1-2 pages) comparing performance.
•
Graph of execution time vs. input size for…
Given a shared data set, we allow multiple readers to read at the same time, and only one single writer can access the shared data at the same time. In the lecture slides, a solution is given. However, the problem is that the write cannot write forever, if there are always at least one reader.
How to ensure that the writer can eventually write? Propose your solution by using semaphores and implemented in Python
from threading import Thread, Semaphore
from time import sleep
from sys import stdout
class Reader(Thread):
def__init__(self, name):
self.n=name; Thread.__init__(self)
defrun(self):
globalnr, nw, dr, dw
whileTrue:
# ⟨await nw == 0 then nr += 1⟩
e.acquire()
ifnw>0:
#if nw > 0 or dw > 0 :
dr+=1; e.release(); r.acquire()
nr+=1
ifdr>0: dr-=1; r.release()
else: e.release()
# read data
stdout.write(self.n+' reading\n')
sleep(1)
# ⟨nr -= 1⟩
e.acquire()
nr-=1
ifnr==0anddw>0:
dw-=1 ; w.release()
else: e.release()
class Writer(Thread):
def__init__(self, name):…
Chapter 18 Solutions
MyLab Programming with Pearson eText -- Access Card -- for Introduction to Java Programming and Data Structures, Comprehensive Version
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
Knowledge Booster
Similar questions
- Année scolaire: 2024/2025 Collège SMARA Devoir à domicile 1 semestre 2 Prof: NILAJ PHYSIQUE CHIMIE Nom et Prénom: Niveau: 3APIC Exercice 1: Durée: 1 heure 1) Donner la définition des termes suivantes? Le Mouvement : La vitesse moyenne: 2) Répondre par « Vrai » ou «> Un objet peut être en mouvement et au repos Si la vitesse est constante, le mouvement sera uniforme. 3) Compléter les phrases par les termes qui conviennent : Pour déterminer le mouvement ou le repos d'un objet, vous devez choisir un autre objet appelé le d'un point d'un corps mobile est l'ensemble des positions qu'il occupe durant son mouvement. Il y a trois types de trajectoires: circulaire. La distance de freinage dépend de 4) Cocher la bonne réponse? > La relation entre la vitesse, la distance et le temps: d Vm = dxt > L'unité internationale de la vitesse moyenne est : m/s 5) On considère la figure suivante : Compléter le tableau par les mots suivants : En mouvement au repos A C Km/h et et l' m. s-1 15 A B C Sol…arrow_forward5. Here is a tree corresponding to T(64) for an unknown recurrence relation: 32 + lg 64 8+ lg 16 2+ lg 4 2+lg4 2+lg4 8+ lg 16 2+lg4 7 7 7 7 7 7 7 7 Fill in the details for the corresponding recurrence relation: T(n) = T(n/4)+ T(1)= Put scratch work below. Scratch work is not graded but may be used for regrade partial credit.arrow_forwardTop screenshot is question, the rest are examples and explinations.arrow_forward
- Activity Time (days) Predecessors Earliest Expected Completion Time (TE) Latest Expected Completion Time (TE) 1 4 2 5 1 3456782222 6 1 7 1 4 4 6 2,3 5 3 5 5,7 9 4 7 10 3 6,9 11 5 8,9,10 12 4 11 Slack Critical Path? Yes or Noarrow_forwardI would like to know about the following concepts: 1. defragmentation 2. disk management 3. hardware RAIDarrow_forwardNode.js, Express, and Nunjucks Templates?arrow_forward
- CIT244 Program Project 3 Assignment As with any assigned program, do not wait until the last minute to start. Start early in the week the program is due so you can ask questions if you get stuck Node.js and Express and Nunjucks Templates We have gotten to the good stuff. There is a program similar to this assignment given as the last example in the lecture notes for the week that discusses node static files. This program will take more time that previous assignments. There are several examples you should study first, particularly the pizza order example program available in the examples programs folder for the week discussing static files. You should study and run the pizza order program before trying this program. The pseudo-company is called Sun or Fun, which offers cheap flights from Louisville to either Miami or Vegas. Here's a video of how it should work. NOTE: You will hear or see references to Handlebars in this video. We used to use Handlebars, but it will be Nunjucks that we…arrow_forwardhow to write the expression for the outputarrow_forwardPlease answer the exercise below(C programme)arrow_forward
- I need to list and know about some local storage options available in Windows Server 2019, thank youarrow_forwardPlease answer both Exercise 1 and2(these questions are not GRADED)arrow_forwardDiscussion 1. Comment on your results. 2. Compare between the practical and theoretical results. 3. Find VB, Vc on the figure below: 3V V₁₁ R₁ B IR, R, IR, R www ΙΚΩ www www I 1.5KQ 18₁ 82002 R₁ 3.3KQ R₂ 2.2KQ E Darrow_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 LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
- Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrEBK JAVA PROGRAMMINGComputer ScienceISBN:9781305480537Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT

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

EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage

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

C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr

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