Question

Data Structures: Suppose we sort an array of numbers, but it turns out every element of...

Data Structures:

Suppose we sort an array of numbers, but it turns out every element of the array is the same, e.g., {17, 17, 17, ..., 17}. (So, in hindsight, the sorting is useless.)

(a) What is the asymptotic running time of insertion sort in this case?

(b) What is the asymptotic running time of selection sort in this case?

(c) What is the asymptotic running time of merge sort in this case?

(d) What is the asymptotic running time of quick sort in this case?

0 0
Add a comment Improve this question Transcribed image text
Answer #1

******************************************************************************************
Please Upvote the answer as it matters to me a lot :)
*****************************************************************************************
As per HomeworkLib expert answering guidelines,Experts are supposed to answer only certain number of questions/sub-parts in a post.Please raise the remaining as a new question as per HomeworkLib guidelines.
******************************************************************************************

a)

if all the elements in the array are same then inner loop of insertion sort only takes O(1) time so the overall complexity now depends on the outer loop which runs for O(n) time

so in this case the overall complexity = O(n)

b)

since selection sort , sorts the array by repeatedly find the minimum element even if all the elements are same it still takes

O(n2) time since finding minimum element takes O(n) and we have to do this for n elements

c)

merge sort irrespective of the elements present in it follows the recurrence relation T(n)= 2T(n/2) + O(n) which solves to O(nlgon) so the complexity for this case is O(nlogn)

d)

if all the elements in the array are same then the quick sort will behave in the worst case making the recurrence to

T(n)= T(n-1)+ O(n) (the pivot will stay there and recurrence will follow for n-1 elements) which by solving we get O(n2)

Add a comment
Know the answer?
Add Answer to:
Data Structures: Suppose we sort an array of numbers, but it turns out every element of...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Given an unsorted array. The array has this property that every element in array is at...

    Given an unsorted array. The array has this property that every element in array is at most k distance from its position in sorted array where k is a positive integer smaller than size of array. Which sorting algorithm can be easily modified for sorting this array and what is the obtainable time complexity? Group of answer choices nsertion Sort with time complexity O(kn) Heap Sort with time complexity O(nLogk) Quick Sort with time complexity O(kLogk) Merge Sort with time...

  • Please come up with an array of 9 random integers then sort the array. Show the...

    Please come up with an array of 9 random integers then sort the array. Show the contents of the array each time a sorting algorithm changes it while sorting the array into ascending order. The 6 sorting algorithm we are using are: 1. Selection Sort 3 points 2. Insertion Sort 3 points 3. Shell Sort 6 points 4. Bubble Sort 3 points 5. Merge Sort 10 points 6. Quick Sort 10 points It is OK to do this assignment on...

  • Data Structure using C++ only Write 4 different sorting functions: Selection Sort, Insertion Sort, Merge Sort...

    Data Structure using C++ only Write 4 different sorting functions: Selection Sort, Insertion Sort, Merge Sort and Quick sort. For each sort you may store the numbers in an array or a linked list (this may be different for each sort). Write your program so that it accepts arguments from the command line using argc and argv in the main function call.

  • Subject: Algorithm need this urgent please. 2.1 Searching and Sorting- 5 points each 1. Run Heapsort on the following array: A 17, 3, 9, 4, 2,5, 6, 1,8) 2. Run merge sort on the same array 3. What...

    Subject: Algorithm need this urgent please. 2.1 Searching and Sorting- 5 points each 1. Run Heapsort on the following array: A 17, 3, 9, 4, 2,5, 6, 1,8) 2. Run merge sort on the same array 3. What is the worst case for quick sort? What is the worst case time com- plexity for quick sort and why? Explain what modifications we can make to quick sort to make it run faster, and why this helps. 2.1 Searching and Sorting-...

  • Please indicate whether the following statements are true or false by circling the correct answer: Every...

    Please indicate whether the following statements are true or false by circling the correct answer: Every complete binary tree with n nodes has a height O(lg n). True                       False The array [19, 14, 17, 6, 8, 4, 11, 2, 5] forms a max-heap. True                       False O(3n + lg n) ≠ O(n) True                       False A comparison-based sorting algorithms cannot have an asymptotic run time of O(lg n) True                       False The recurrence relation that indicates the asymptotic running time...

  • 2.1 Searching and Sorting- 5 points each 1. Run Heapsort on the following array: A (7,3, 9, 4, 2,5, 6, 1,8) 2. Run merge sort on the same array. 3. What is the worst case for quick sort? What is...

    2.1 Searching and Sorting- 5 points each 1. Run Heapsort on the following array: A (7,3, 9, 4, 2,5, 6, 1,8) 2. Run merge sort on the same array. 3. What is the worst case for quick sort? What is the worst case time com- plexity for quick sort and why? Explain what modifications we can make to quick sort to make it run faster, and why this helps. 4. Gi pseudocode for an algorithm that will solve the following...

  • . Shell sort is a sorting algorithm similar to insertion sort. Research shell sort and apply...

    . Shell sort is a sorting algorithm similar to insertion sort. Research shell sort and apply that to the following array. Show your work in Detail. [15 points] 45 20 50 10 80 30 60 70 40 90 2. Is Shell sort a stable sorting algorithm? Answer this with an example. [10 points] 3. Apply Merge Sort to sort the following list. Show your work in Detail. [15 Points] 45 20 50 10 80 30 60 70 40 90 4....

  • What action do merge sort, quick sort, and heap sort perform that so radically reduces their...

    What action do merge sort, quick sort, and heap sort perform that so radically reduces their complexity? (From O(n2) for the other sorts that we looked at earlier–selection sort, bubble sort, and insertion sort–to O(n log n) for these)? Hint: they all employ a strategy that has to do with how many things they look at in a pass. Describe a situation where merge sort would be a better choice for sorting than quick sort.

  • In C++ language, implement a class that can sort an array of numbers using all three...

    In C++ language, implement a class that can sort an array of numbers using all three algorithms we have seen in this course, but each method updates a “counter” value every time it accesses the array. Have it print this at the end of the sorting process. Store the array values in an “original” array so you don’t have to re-type it for different sorts (since each sort alters the array), and have the sort modify a copy. Note: IF...

  • In C++ language, implement a class that can sort an array of numbers using all three...

    In C++ language, implement a class that can sort an array of numbers using all three algorithms we have seen in this course, but each method updates a “counter” value every time it accesses the array. Have it print this at the end of the sorting process. Store the array values in an “original” array so you don’t have to re-type it for different sorts (since each sort alters the array), and have the sort modify a copy. Note: IF...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT