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 5,000 items. Then adjust the threshold for using the insertion sort to determine an optimal setting. Use python’s time module to calculate the duration of the original quicksort version and the modified version. Do this for 3 different data sets of 50, 500, and 5000 items. These datasets are not going to be provided, so you have to come up with them. You can use python’s random module to help come up with the random item. Experiment with a different threshold value for the size of the sublist that indicates a switch to insertion sort, and report which value was optimal. Use this template: import time def original_quicksort(input_list): sorted_list = [] #TODO: Your work here # Return sorted_list return sorted_list def modified_quicksort(input_list): sorted_list = [] #TODO: Your work here # Return sorted_list return sorted_list if __name__ == "__main__": my_list = [3, 4, 1, 5, 2] print(original_quicksort(my_list)) # Correct Output: [1, 2, 3, 4, 5] print(modified_quicksort(my_list)) # Correct Output: [1, 2, 3, 4, 5

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

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 5,000 items. Then adjust the
threshold for using the insertion sort to determine an optimal setting.

Use python’s time module to calculate the duration of the original quicksort version and the modified version. Do this for 3 different data sets of 50, 500, and 5000 items. These datasets are not going to be provided, so you have to come up with them. You can use python’s random module to help come up with the random item. Experiment with a different threshold value for the size of the sublist that indicates a switch to insertion sort, and report which value was optimal.

Use this template:

import time
def original_quicksort(input_list):
sorted_list = []

#TODO: Your work here
# Return sorted_list
return sorted_list
def modified_quicksort(input_list):
sorted_list = []

#TODO: Your work here
# Return sorted_list
return sorted_list
if __name__ == "__main__":
my_list = [3, 4, 1, 5, 2]
print(original_quicksort(my_list)) # Correct Output: [1, 2, 3, 4, 5]
print(modified_quicksort(my_list)) # Correct Output: [1, 2, 3, 4, 5]

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

can you explain the thought process behind the code?

 

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Mergesort
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.
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education