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.
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).
Below is a snippet of code that relies on three methods: execA, execB, and execC. The...
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 “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 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 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 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 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 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 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 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 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...