Question

You are given an array A consisting of strings. You have an algorithm MULTI_SORT that sorts...

You are given an array A consisting of strings. You have an algorithm MULTI_SORT that sorts each of the string and further, sorts the array A. What would be the runtime for the algorithm MULTI_SORT if,

There are N1 elements in A,

Each string in A has a length N2 ,

Each sorting algorithm has a big-O runtime: (number of elements to sort) X log (number of elements to sort).

Homework Answers

Answer #1

Solution:

So, the MULTI_SORT algorithm is sorting the strings inside the array and then the array itself

we can see that the string lengths inside the array is N2, so it will take N2 log N2 time to sort the strings

there are N1 number of elements inside the array which means it will take N1 log N1 time to sort the array.

so the total complexity of the MULTI_SORT algorithm will be

T(n)= N1 * N2 log N2 + N1 log N1

T(n)= O(N1*(max(N2 log N2, log N1))

Explanation:

since we don't know the if N1>N2 or N2>N1, hence the max(N2 log N2, log N1), will decide the upper bound of the algorithm.

Hit the thumbs up if you liked the answer. :)

Hit the thumbs up if you liked the answer. :)

Know the answer?
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
Similar Questions
Java : Modify the selection sort algorithm to sort an array of integers in descending order....
Java : Modify the selection sort algorithm to sort an array of integers in descending order. describe how the skills you have gained could be applied in the field. Please don't use an already answered solution from chegg. I've unfortunately had that happen at many occasion ....... ........ sec01/SelectionSortDemo.java import java.util.Arrays; /** This program demonstrates the selection sort algorithm by sorting an array that is filled with random numbers. */ public class SelectionSortDemo { public static void main(String[] args) {...
1. Given an n-element array A, Algorithm X executes an O(n)-time computation for each even number...
1. Given an n-element array A, Algorithm X executes an O(n)-time computation for each even number in A and an O(log n)-time computation for each odd number in A. What is the best-case running time of Algorithm X? What is the worst-case running time of Algorithm X? 2. Given an array, A, of n integers, give an O(n)-time algorithm that finds the longest subarray of A such that all the numbers in that subarray are in sorted order. Your algorithm...
1. You are given an array of integers, where different integers may have different number of...
1. You are given an array of integers, where different integers may have different number of digits, but the total number of digits over all the integers in the array is n. Show how to sort the array in O(n) time. 2. You are given an array of strings, where different strings may have different numbers of characters, but the total number of characters over all the strings is n. Show how to sort the strings in O(n) time. (Note...
In C, write a function void (int number[ ]) sorts the given array of integers into...
In C, write a function void (int number[ ]) sorts the given array of integers into non-decreasing order, storing the result in the given array. The array of integers may have any number of elements, but the last element of the array must be zero
How to measure the time complexity of an algorithm? Identify an important operation in the algorithm...
How to measure the time complexity of an algorithm? Identify an important operation in the algorithm that is executed most frequently. Express the number of times it is executed as a function of N. Convert this expression into the Big-O notation. A. For each of the three fragments of code, what is its worst-case time complexity, in the form "O(…)". (Use the given solution to the first problem as a model)                 //----------------- This is a sample problem – solved ------...
An online/anytime sorting algorithm is one that reads its input numbers one at a time, and...
An online/anytime sorting algorithm is one that reads its input numbers one at a time, and maintains a sorted array of all the inputs it has seen so far, so that if it is interrupted at any time, it will still output the correct answer for the inputs that it has processed. Not all sorting algorithms are amenable to modification to make them anytime. But one sorting algorithm, Bubble Sort, is easy to so modify. First, understand the ascending order...
Given a large array of several million elements of type 'double', you are asked to sort...
Given a large array of several million elements of type 'double', you are asked to sort them in ascending order using an algorithm of your choice. You choose selection sort. Why is this a poor choice? Group of answer choices Selection sort can only sort elements of type 'int' Selection sort requires 3x the memory of other sort algorithms Selection sort can only work on an array with an odd number of elements Selection sort will be prohibitively inefficient for...
DESCRIPTION: You will be given a 2D array, called matrix, of Strings. The array has an...
DESCRIPTION: You will be given a 2D array, called matrix, of Strings. The array has an unknown number of cells filled with data. Your goal is to iterate through the 2D array and keep a count of how many cells are full. You will be given the dimensions of the array. INPUT: All input has been handled for you: Two integers denoting the dimensions of the array. These are the integer variables rows and cols. A partially filled 2-D array....
Suppose you can use a library that contains two familiar sorting functions: BUBBLESORT(A) and MERGESORT(A) Both...
Suppose you can use a library that contains two familiar sorting functions: BUBBLESORT(A) and MERGESORT(A) Both functions take as input an array A of length n and sort it. Their running times are O(n2) and O(n log n) respectively. The library also contains another sorting function, with the following pseudocode: - function STRANGESORT(A) - if (length(A)1000) then - return BUBBLESORT(A) - else - return MERGESORT(A) What is the worst-case running time of STRANGESORT? Please justify your answer.
Task 2: Compare strings. Write a function compare_strings() that takes pointers to two strings as inputs...
Task 2: Compare strings. Write a function compare_strings() that takes pointers to two strings as inputs and compares the character by character. If the two strings are exactly same it returns 0, otherwise it returns the difference between the first two dissimilar characters. You are not allowed to use built-in functions (other than strlen()) for this task. The function prototype is given below: int compare_strings(char * str1, char * str2); Task 3: Test if a string is subset of another...