a. A list/array of size N has integer data. There may be duplicate values in the list. You have at your disposal, a genie, who can return the index or all indices (in case of duplicates) of a given data in 2 nanosecond. What is the Big-O order of an algorithm that uses such a genie to determine the locations in the list of a given data? Explain your answer in detail. Note: you do not need to write any code for this question. b. How would the Big-O order change in problem a., if the genie were to take time proportional to the number of duplicates? Explain your answer in detail. Note: you do not need to write any code for this question.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 24PE
icon
Related questions
Question
A_b
A list/array of size N has integer data. There may be duplicate values in the list. You have
at your disposal, a genie, who can return the index or all indices (in case of duplicates) of
a given data in 2 nanosecond. What is the Big-O order of an algorithm that uses such a
genie to determine the locations in the list of a given data? Explain your answer in detail.
Note: you do not need to write any code for this question.
a.
b. How would the Big-O order change in problem a., if the genie were to take time
proportional to the number of duplicates? Explain your answer in detail. Note: you do not
need to write any code for this question.
c. Propose one or more modification(s) to the below bubble sort code to improve the runtime.
Submit your source code with the modifications. Explain why the modification works using
comments in your code. Hint: You will have to consider the case where the array gets
sorted early during the nested for loops.
def bubble_sort(a_list):
for i in range(len(a_list) - 1):
for j in range(len(a_list) - 1-i):
Transcribed Image Text:A list/array of size N has integer data. There may be duplicate values in the list. You have at your disposal, a genie, who can return the index or all indices (in case of duplicates) of a given data in 2 nanosecond. What is the Big-O order of an algorithm that uses such a genie to determine the locations in the list of a given data? Explain your answer in detail. Note: you do not need to write any code for this question. a. b. How would the Big-O order change in problem a., if the genie were to take time proportional to the number of duplicates? Explain your answer in detail. Note: you do not need to write any code for this question. c. Propose one or more modification(s) to the below bubble sort code to improve the runtime. Submit your source code with the modifications. Explain why the modification works using comments in your code. Hint: You will have to consider the case where the array gets sorted early during the nested for loops. def bubble_sort(a_list): for i in range(len(a_list) - 1): for j in range(len(a_list) - 1-i):
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Introduction to computer system
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning