Question

Below is a snippet of code that relies on three methods: execA, execB, and execC. The...

Below is a snippet of code that relies on three methods: execA, execB, and execC. The worst, best, and average time complexity is given for each of these functions.

 

int exec = random.nextInt(6);
switch(exec) {
case 0: execA(n); // O(n4), Omega(log n), Theta(n)
break;

case 5: execB(n); // O(n4), Omega(n), Theta(n)
break;

default: execC(n); // O(n3), Omega(n2), Theta(n*log n)
}

Please answer the following:

1. [2 marks] What is the worst case Big-O for this code? Justify your answer.

2. [2 marks ] What is the best case Omega? Justify your answer.

3. [1 marks] Estimate average case Theta using your answer from 1 and 2.

4. [1 mark ] For answering question 3 you probably assumed an arithmetic mean (an average you are most familiar with). However, there are different kinds of averages. One alternative average is a geometric mean and is actually better suited for non-linear functions. Estimate average case Theta again but this time using a geometric mean. If you are unfamiliar with this formula you can get it here (click).

5. [2 marks] In this example, averaging Theta using best/worst isn't the preferred choice because you can analyze this code and get an exact answer for theta. What is the real average time complexity (Theta) for this code? Justify your answer.

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

1) Since out of cases for 0, 5 and default, 0 and 5 have the worst complexity of the order O(n^4).

Hence, if exec = 0 or 5, then the worst case Big-O is O(n^4).

2)

Since out of cases for 0, 5 and default, case 0 has the best complexity of the order Ω(log n).

Hence, if exec = 0, then the best case Big-Omega is Ω(log n).

3) The average case Theta is Θ(n^4).

Add a comment
Know the answer?
Add Answer to:
Below is a snippet of code that relies on three methods: execA, execB, and execC. The...
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
  • Which big-O expression best characterizes the worst case time complexity of the following code? public static...

    Which big-O expression best characterizes the worst case time complexity of the following code? public static int foo(int N) ( int count = 0; int i1; while (i <N) C for (int j = 1; j < N; j=j+2) { count++ i=i+2; return count; A. O(log log N) B. O(log N2) C. O(N log N) D. O(N2)

  • Exercise 1 Use Top-Down Design to “design” a set of instructions to write an algorithm for...

    Exercise 1 Use Top-Down Design to “design” a set of instructions to write an algorithm for “travel arrangement”. For example, at a high level of abstraction, the algorithm for “travel arrangement” is: book a hotel buy a plane ticket rent a car Using the principle of stepwise refinement, write more detailed pseudocode for each of these three steps at a lower level of abstraction. Exercise 2 Asymptotic Complexity (3 pts) Determine the Big-O notation for the following growth functions: 1....

  • The time-complexity of searching an AVL tree is in the worst case and in the average...

    The time-complexity of searching an AVL tree is in the worst case and in the average case. On), On) O(logot). O(log O ON), C(n) 0(), O(log) Question 16 2 pts The time-complexity of searching a binary search tree is in the worst case and in the average case (1), O(log) O(logn), O(log,n) On), On) 001), 001)

  • You are managing a software project that involves building a computer-assisted instrument for medical surgery. The...

    You are managing a software project that involves building a computer-assisted instrument for medical surgery. The exact placement of the surgical knife is dependent on a number of different parameters, usually at least 25, sometimes more. Your programmer has developed two algorithms for positioning the cutting tool, and is seeking your advice about which algorithm to use: -2- Algorithm A has an average – case run time of n, and a worst case run time of n4, where n is...

  • (d) Consider an algorithm A, whose runtime is dependent on some "size" variable n of the...

    (d) Consider an algorithm A, whose runtime is dependent on some "size" variable n of the input. Explain the difference between the two statements below, and give an explicit example of an algorithm for which one statement is true but the other is false. 1. The worst case time complexity of A is n2. 2. A is O(n). (e) Give an example of an algorithm (with a clear input type) which has a Big-Oh (0) and Big-Omega (12) bound on...

  • What is the value of x after the execution of the code snippet. Give an exact...

    What is the value of x after the execution of the code snippet. Give an exact answer as a function of N. Justify your answer. x = 0 for J = 1 to N do x = x + 2 end for Using Theta notation, how many bits do you need to represent x after the execution of the code snippet?

  • Solve ques no. 2 a, b, c, d . Algorithm 1 Sort a list al,..., an...

    Solve ques no. 2 a, b, c, d . Algorithm 1 Sort a list al,..., an for i=1 to n-1 do for j=1 to n-i do if aj > aj+1 then interchange a; and a;+1 end if end for end for (b) Algorithm 1 describes a sorting algorithm called bubble sort for a list al,...,an of at least two numbers. Prove that the algorithm is complete, correct and terminates. (2) Complexity of Algorithms (Learning Target C2) (a) What is the...

  • For each pair of functions f(n) and g(n), indicate whether f(n) = O(g(n)), f(n) = Ω(g(n)), and/or...

    For each pair of functions f(n) and g(n), indicate whether f(n) = O(g(n)), f(n) = Ω(g(n)), and/or f(n) = Θ(g(n)), and provide a brief explanation of your reasoning. (Your explanation can be the same for all three; for example, “the two functions differ by only a multiplicative constant” could justify why f(n) = n, g(n) = 2n are related by big-O, big-Omega, and big-Theta.) i. f(n) = n^2 log n, g(n) = 100n^2 ii. f(n) = 100, g(n) = log(log(log...

  • Using C++ please explain What is the Big-O time complexity of the following code: for (int...

    Using C++ please explain What is the Big-O time complexity of the following code: for (int i=0; i<N; i+=2) { ... constant time operations... Select one: o a. O(n^2) O b. O(log n) c. O(n) O d. 0(1) What is the Big-O time complexity of the following code: for(int i=1; i<N; i*=2) { ... constant time operations... Select one: O O a. O(n^2) b. 0(1) c. O(n) d. O(log n) O What is the Big-O time complexity of the following...

  • Show your work Count the number of operations and the big-O time complexity in the worst-case...

    Show your work Count the number of operations and the big-O time complexity in the worst-case and best-case for the following code int small for ( i n t i = 0 ; i < n ; i ++) { i f ( a [ i ] < a [ 0 ] ) { small = a [ i ] ; } } Show Work Calculate the Big-O time complexity for the following code and explain your answer by showing...

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