Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please solve with the following instructions and code in Python: Project 3.9 File: testquicksort.py Tests the quicksort algorithm def insertionSort(lyst, left, right): def

Please solve with the following instructions and code in Python:

image text in transcribed

"""

Project 3.9

File: testquicksort.py

Tests the quicksort algorithm

"""

def insertionSort(lyst, left, right):

def quicksort(lyst):

quicksortHelper(lyst, 0, len(lyst) - 1)

def quicksortHelper(lyst, left, right):

if left

pivotLocation = partition(lyst, left, right)

quicksortHelper(lyst, left, pivotLocation - 1)

quicksortHelper(lyst, pivotLocation + 1, right)

def partition(lyst, left, right):

# Find the pivot and exchange it with the last item

middle = (left + right) // 2

pivot = lyst[middle]

lyst[middle] = lyst[right]

lyst[right] = pivot

# Set boundary point to first position

boundary = left

# Move items less than pivot to the left

for index in range(left, right):

if lyst[index]

swap(lyst, index, boundary)

boundary += 1

# Exchange the pivot item and the boundary item

swap (lyst, right, boundary)

return boundary

def swap(lyst, i, j):

"""Exchanges the items at positions i and j."""

# You could say lyst[i], lyst[j] = lyst[j], lyst[i]

# but the following code shows what is really going on

temp = lyst[i]

lyst[i] = lyst[j]

lyst[j] = temp

import random

def main(size = 20, sort = quicksort):

lyst = []

for count in range(size):

lyst.append(random.randint(1, size + 1))

print(lyst)

sort(lyst)

print(lyst)

if __name__ == "__main__":

main()

Instructions Modify the quicksort function so that it calls insertion sort to sort any sublist whose size is less than 50 items. Compare the performance of this version with that of the original one, using data sets of 50, 500, and 5000 items. Afterwards, adjust the threshold for using the insertion sort to determine an optimal setting based on your findings from the step above

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_2

Step: 3

blur-text-image_3

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

Database Publishing With Filemaker Pro On The Web

Authors: Maria Langer

1st Edition

0201696657, 978-0201696653

More Books

Students also viewed these Databases questions