Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

PERFORM USING PYTHON! The recursive sorting technique called quicksort uses the following basic algorithm for a one- dimensional array of values: a) Partitioning Step: Take

PERFORM USING PYTHON!

image text in transcribed

The recursive sorting technique called quicksort uses the following basic algorithm for a one- dimensional array of values: a) Partitioning Step: Take the first element of the unsorted array and determine its final location in the sorted array (i.e., all values to the left of the element in the array are less than the element, and all values to the right of the element in the array are greater than the elementwe show how to do this below). We now have one element in its proper location and two unsorted subarrays. b) Recursive Step: Perform Step 1 on each unsoited subarray. Each time Step 1 is performed on a subarray, another element is placed in its final location of the soited array, and two unsorted subarrays are created. When a subairay consists of one element, that element is in its final location (because a one-element array is already sorted). The basic algorithm seems simple enough, but how do we determine the final position of the first element of each subarray? As an example, consider the following set of values (the element in bold is the partitioning elementit will be placed in its final location in the sorted array): 372 6 4 89 8 10 12 68 45 Starting from the rightmost element of the array, compare each element with 37 until an element less than 37 is found; then swap 37 and that element. The first element less than 37 is 12, so 37 and 12 are swapped. The new array is 12 2 6 4 89 8 10 37 68 45 Element 12 is in italics to indicate that it was just swapped with 37. Starting from the left of the anray, but beginning with the element after 12, compare each element with 37 until an element greater than 37 is foundthen swap 37 and that element. The first element greater than 37 is 89, so 37 and 89 are swapped. The new array is 12 2 6 4 37 8 10 89 68 45 Starting from the right, but beginning with the element before 89, compare each element with 37 until an element less than 37 is foundthen swap 37 and that element. The first element less than 37 is 10, so 37 and 10 are swapped. The new array is 12 2 6 4 10 8 37 89 68 45 Starting from the left, but beginning with the element after 10, compare each element with 37 until an element greater than 37 is foundthen swap 37 and that element. There are no more elements greater than 37, so when we compare 37 with itself, we know that 37 has been placed in its final location in the sorted array. Every value to the left of 37 is smaller than it, and every value to the right of 37 is larger than it. Once the partition has been applied on the previous array, there are two unsoited subarrays. The subarray with values less than 37 contains 12, 2, 6, 4, 10 and 8. The subarray with values greater than 37 contains 89, 68 and 45. The sort continues recursively, with both subarrays being partitioned in the same manner as the original array. Based on the preceding discussion, write recursive function quick_sort_helper to soit a one-dimensional integer array. The function should receive as arguments a starting index and an ending index on the original array being soited. Call this function from a quick_soit function that receives just the original array to sort. At each recursive call, print the parameters off the recursive method call and array(list) contents

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Transact SQL Cookbook Help For Database Programmers

Authors: Ales Spetic, Jonathan Gennick

1st Edition

1565927567, 978-1565927568

More Books

Students also viewed these Databases questions

Question

1. How does Kiwi Experience maintain a continual customer focus?

Answered: 1 week ago