
*Data Structures and
Professor Holmes came up with the idea of a sorting algorithm that he calls Trinary Sort which he claims is asymptotically faster than merge sort, despite being similar in logic. Unlike merge sort, trinary sort splits the input list into three roughly equal parts at each step of the recursion as long as the list is splittable (i.e., has at least 3 elements in this case). The merge operation, similar to what it does in mergeSort, takes three already sorted subarrays, and merges them.
(a) In merge sort, merge operation makes exactly n−1 comparisons in total to merge two lists of size n/2 in the worst case, which takes O(n) time. How many comparisons will the merge operation of Trinary sort make in the worst case to merge three sublists of size (n/3) (give an exact number)? Why? What would be the asymptotic bound?
(b) What is the total running time of the Trinary Search algorithm? Show it using the tree expansion method.

Trending nowThis is a popular solution!
Step by stepSolved in 2 steps with 1 images

- Alert dont submit AI generated answer.arrow_forwardc++arrow_forwardThe script has four steps: Read a list of integers (no duplicates). Output the numbers in the list. Perform an insertion sort on the list. Output the number of comparisons and swaps performed during the insertion sort. Steps 1 and 2 are provided in the script. Implement step 3 based on the insertion sort algorithm in the book. Modify insertion_sort() to: Count the number of comparisons performed. Count the number of swaps performed. Output the list during each iteration of the outside loop. Implement step 4 at the end of the script. Hints: In order to count comparisons and swaps, modify the while loop in insertion_sort(). Use global variables for comparisons and swaps. The script includes three helper functions: read_nums() # Read and return a list of integers. print_nums(nums) # Output the numbers in nums swap(nums, n, m) # Exchange nums[n] and nums[m] Ex: When the input is: 3 2 1 5 9 8 the output is: 3 2 1 5 9 8 2 3 1 5 9 8 1 2 3 5 9 8 1 2 3 5 9 8 1 2 3 5 9 8 1 2 3 5 8 9…arrow_forward
- The optimised bubble sort offers none of the following benefits over conventional sorts for items that have already been sorted.arrow_forwardORIGINAL Q: Instead of reading in an entire list N1,N2,⋯N1,N2,⋯ all at once, some algorithms (depending on the task to be done) can read in only one element at a time and process that single element completely before inputting the next one. This can be a useful technique when the list is very big (e.g., billions of elements) and there might not be enough memory in the computer to store it in its entirety. Write an algorithm that reads in a sequence of values v≥0, one at a time, and computes the average of all the numbers. You should stop the computation when you input a value of V = −1. Do not include this negative value in your computations; it is not a piece of data but only a marker to identify the end of the list. PLEASE MODIFY THE FOLLOWING CODE SO THE USER INPUTS THE NUMBERS ONE BY ONE: ORIGINAL Q: Instead of reading in an entire list N1,N2,⋯N1 ,N2,⋯ all at once, some algorithms (depending on the task to be done) can read in only one element at a time and process that single…arrow_forwardexplain Selection sort algorithm.arrow_forward
- Lab 16 Implementing bubble sort In this lab, you will implement the bubble sort algorithm. The bubble sort is so called because it compares adjacent items, "bubbling" the smaller one up toward the beginning of the array. By comparing all pairs of adjacent items starting at the end of the array, the smallest item is guaranteed to reach the beginning of the array at the end of the first pass.The second pass begins again at the end of the array, ultimately placing the second smallest item in the second position. During the second pass, there is no need to compare the first and second items, because the smallest element is guaranteed to be in the first position.Bubble sort takes at most n - 1 passes for an array of n items. During the first pass, n - 1 pairs need to be compared. During the second pass, n - 2 pairs need to be compared. During the ith pass, n - i pairs need to be compared. During the last pass, n - (n - 1) or one pair needs to be compared. If, during any pass, no two…arrow_forwardSort the following list using the Selection Sort algorithm . Show the list after each iteration of the outer for loop (after each complete pass through the list) IMPORTANT: Separate each value by a comma and only one space after each comma and no space after the last value. You will have seven iterations of the list for your answer. 38, 60, 43, 5, 70, 58, 15, 10arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





