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
Question
Chapter 23.5, Problem 23.5.4CP
Program Plan Intro
Sorting:
Sorting is a process where the elements of a list are arranged in a particular order. The order of the list can be either present in the ascending order or descending order.
Quick sort:
- The
algorithm works by selecting a pivot element from the array. - The array is being divided into two parts such that the element present at the first part of the array will be less than pivot and the elements that are present at the second part of the array are greater than the pivot element.
- The process is made in recursive way to the first half and second half of the list until the complete list is sorted.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Write a program that benchmarks QuickSort and InsertionSort. You should use at least 5 different data sets and record the performance of each algorithm on the same sets under the same conditions. Write a short report that compares the two algorithms based your results. It is important to include a discussion of the initial states of the data sets in your report.
language Java
public class week3 {public static void main(String args[]){ //========================================================== //Question 1 testing //================== // Comment on benchmarking for Q1 results // // //========================================================== } static void quickSort(int f[], int p, int q){ if(q-p <= 1) ; //skip else{ int x; int i, j, k; // let x = middle element in f[p..q-1] x = f[(p+q)/2]; //x = f[p]; i = p; j = p; k = q; while(j != k){ if(f[j] == x) j = j + 1; else if(f[j] < x){ //swap f[j] with f[i] int temp; temp = f[j]; f[j] = f[i]; f[i] = temp; j = j + 1; i = i + 1; } else{…
Implement two different versions of quicksort in a high level programming language. The first version will use the first element of the array as the pivot. The second version will use the median of the first element, middle element, and last element of the array as the pivot. For each version, compare the performance on random arrays of data of sizes 10n for n = 2, 3, and 4. Create three graphs (one for the random data, one for the increasing data, and one for the decreasing data) to illustrate your results. Discuss these results.
The following are the operations that you can do using a single linked list. Choose only one operation then create the algorithm and simulate. The attached Rubric will be used in evaluating the activity.
1. Delete a particular node in a single linked list
2. Delete the first node of a single linked list
3. Insertion after a given node of a single linked list
4. Insertion at a given position in a single linked list
5. Insertion before a given node in a single linked list
6. Reverse a single linked list
EX: Delete the last node of a single linked list
Problem" Deletion of the last node in a single linked list
Algorithm"
Step 1: if HEAD = NULL
Write UNDERFLOW
Go to Step 8
Step 2: SET PTR = HEAD
Step 3: Repeat Steps 4 and while PTR à NEXT = NULL
Step 4: SET PREPPTR = PTR
Step 5: SET PTR =PTR à NEXT
[End of loop]
Step 6: SET PREPTR à NEXT = NULL
Step 7: FREE PTR
Step 8: EXIT…
Chapter 23 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Ch. 23.2 - Prob. 23.2.1CPCh. 23.2 - Prob. 23.2.2CPCh. 23.2 - Prob. 23.2.3CPCh. 23.3 - Prob. 23.3.1CPCh. 23.3 - Prob. 23.3.2CPCh. 23.3 - Prob. 23.3.3CPCh. 23.4 - Prob. 23.4.1CPCh. 23.4 - Prob. 23.4.2CPCh. 23.4 - What is wrong if lines 615 in Listing 23.6,...Ch. 23.5 - Prob. 23.5.1CP
Ch. 23.5 - Prob. 23.5.2CPCh. 23.5 - Prob. 23.5.3CPCh. 23.5 - Prob. 23.5.4CPCh. 23.6 - Prob. 23.6.1CPCh. 23.6 - Prob. 23.6.2CPCh. 23.6 - Prob. 23.6.3CPCh. 23.6 - Prob. 23.6.4CPCh. 23.6 - Prob. 23.6.5CPCh. 23.6 - Prob. 23.6.6CPCh. 23.6 - Prob. 23.6.7CPCh. 23.6 - Prob. 23.6.8CPCh. 23.6 - Prob. 23.6.9CPCh. 23.7 - Prob. 23.7.1CPCh. 23.7 - Prob. 23.7.2CPCh. 23.8 - Prob. 23.8.1CPCh. 23 - Prob. 23.1PECh. 23 - Prob. 23.2PECh. 23 - Prob. 23.3PECh. 23 - (Improve quick sort) The quick-sort algorithm...Ch. 23 - (Check order) Write the following overloaded...Ch. 23 - Prob. 23.7PECh. 23 - Prob. 23.8PECh. 23 - Prob. 23.10PECh. 23 - Prob. 23.11PECh. 23 - Prob. 23.12PECh. 23 - Prob. 23.13PECh. 23 - (Selection-sort animation) Write a program that...Ch. 23 - (Bubble-sort animation) Write a program that...Ch. 23 - (Radix-sort animation) Write a program that...Ch. 23 - (Merge animation) Write a program that animates...Ch. 23 - (Quicksort partition animation) Write a program...Ch. 23 - (Modify merge sort) Rewrite the mergeSort method...
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
- Please make a script in C that follows the picture's instruction, BUT with one change. Please write the script so that the computation of the distance between vertices is performed with a UDF. ALSO, PLEASE please please only utilize the stdio.h and math.h header files, please. NO iostream or cacio or anything like that, please. Thank you!!arrow_forwardWrite a script (Python) for least squares l2 that can receive either: a 2D point cloud. Let the program load an ASCII txt file with the data in two columns, as appropriate. The number of points is arbitrary. In addition, display a graph with the cloud of points and the approximate line, together with the error made.arrow_forwardImplement the first round of AES ( Advanced Encryption Standard ) in python. Given a message with 128 bits, two subkeys subkey0 and subkey1, your program should be able to perform one AddKey before Round 1 and the corresponding operations (SubBytes, ShiftRows, Mix-Columns, and AddKey) in Round 1, and output the result of the encryption after Round 1.arrow_forward
- Please write in Python Write a separate test program of both algorithms(insertion sort and quicksort) with a test data set of your choice and show how they work(perhaps the size of 20 integers).arrow_forwardImagine a ballroom with two kinds of dancers: leaders and followers. Dancers of both kinds wait in two separate queues before entering the dance floor. When a leader arrives, it checks to see if there is a follower waiting. If so, they can both proceed. Otherwise it waits. Similarly, when a follower arrives, it checks for a leader and either proceeds or waits, accordingly. Make sure that the next pair of leader/follower may dance only after the previous pair is done.Write the pseudocode for leaders and followers that enforces these constraints.arrow_forwardC programming Implement an encoder. When completed, your program should be able to accept a short sentence from the user and display an encrypted version of it. For simplicity, let us assume one case of letters throughout, say CAPITALS. We can use a substitution method to scramble a sentence and then use the reverse of this process to recover it. If we take two rows of the alphabet and shift the bottom row along a specified amount (our key), we can then read the letters in our sentence from the top row and use the substituted letter from the bottom row to form the encrypted sentence. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z X Y Z A B C D E F G H I J K L M N O P Q R S T U V W In the example above, the key is 3, hence the second row is shifted by three characters along. Take, for instance, the sentence “HELLO”. Each letter of your message should be replaced by the letter in the alphabet that comes three letters before. For “HELLO” that would be: EBIIL Your program is required…arrow_forward
- Write a Python code that can allow as to change the Fibonacci expression F(n,2,q) to F(n,k,q). where we can add any given number to the previous number. You can use any number as an example to demonstrate. Use queue class. Has to take an input from a text file like (1 2 1000), (5 2 1000) .....arrow_forwardImplement the"paint fill"function that one might see on many image editing programs. That is, given a screen (represented by a two-dimensional array of colors), a point, and a new color, fill in the surrounding area until the color changes from the original color.arrow_forwardUsing a csv file attached (https://file.io/NMvbdnv4E3r0), Create a program on python that use the csv file. The program should accept a user's input of a compound. It should output the molar mass (in 2 decimal places only) of the compound.by using the csv file to compute for the atomic mass at name of the elements. Furthermore, if the "elements involved" are wrong an invallid message should be outputted and only existing chemical symbols are the output. The same goes for wrong input of the "number of atoms" wherein a wrong an invallid message should be outputted and only integers are to be inputted by the user. Program should look like this: Enter compound: C6H12O6 Enter elements involved: C,H,O Enter no. of Carbon atoms: AA Enter no. of Hydrogen atoms: 12 Enter no. of Oxygen atoms: 6 Wrong input of number of atoms! Try again. or Enter compound: C6H12O6 Enter elements involved: C,H,O Enter no. of Carbon atoms: 6 Enter no. of Hydrogen atoms: 12 Enter no. of Oxygen atoms: 6…arrow_forward
- The task is to implement part of a linter program using python. Specifically, you must be able to scan for grouping symbols ( "()", "[]", "{}” ) and ensure that there are no hanging open symbols or stray closing symbols in the source file. The implementation must involve recursion in terms of scanning for the scope. If a different closing symbol is encountered or the end of file is reached, the error message "Line : missing closing symbol for "" should be displayed. For stray closing tags, the message "Line : stray closing symbol for "". Note: Do not use "stack" in your code.arrow_forwardPython 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_forwardYou are in the process of choosing between two 3rd party libraries that implement some algorithm and have found two solutions, A and B, that are advertised as O(n) and ~n, respectively. Which of these solutions would you prefer in terms of performance? Explain. (Hint: think about which one gives a more "stable" result.)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