Professional Documents
Culture Documents
b<g<f<d<a<c<e
Question 2. Determine the big-O notation for the following: O(n^6) a. 2n6 2/3 b. 100n + 10.5n + 5.2n5/7 O(n) c. 9log2(n) O(log2(n)) d. 5n10 + 2logn O(n^10) e. n! + k! (k is a predefined constant) O(n!) f. 100log2(n) + 5(n+2n) O(n) Question 3. Calculate the run-time efficiency of the following program segment:
1 i = n-1 2 loop (i >= n/2) 1 j = 1 2 loop (j < n/2) 1 print(i, j) 2 j = j + 2 3 end loop 4 i = i - 2 3 end loop
O(n^2)
n/4*log2(n^3)
nlog2(n)
1/4
Faculty of Computer Science and Engineering Department of Computer Science Question 5. If the algorithm doIt has an efficiency factor of 2n, calculate the run time efficiency of the following program segment:
1 i = 1 2 loop (i <= n) 1 j = 1 2 loop (j < n) 1 k = 1 2 loop (k <= n) 1 doIt() 2 k = k *2 3 end loop 4 j = j + 1 3 end loop 4 i = i + 1 3 end loop
n^3*log2(n)
40*2^1024*10^-9
Question 6.
Given that the efficiency of an algorithm is 2nlog2(n4), if a step in this algorithm takes 1 nanosecond (109), how long does it take the algorithm to process an input of size 1024? Question 7. Write a recurrence equation for the running time T(n) of g(n), and solve that recurrence.
Algorithm g (val n <integer>) Pre n must be greater than 0 Return integer value of g corresponding to n 1 if (n = 1) 1 return 1 U = Un-1 +1 n 2 else 1 return g(n 1)+ 1 End g U =1
O(n)
2/4
Faculty of Computer Science and Engineering Department of Computer Science Advanced Questions Question 8. Prove that for any positive functions f and g, f(n) + g(n) and max(f(n), g(n)) are asymptotically equivalent (i.e. they yield the same big-O notations). Question 9. Estimating the time complexity of the following program segment:
1 i = 0 2 loop (i < N) 1 j = i 2 loop (j < N) 1 k = 0 2 loop (k < M) 1 x = 0 2 loop (x < K) 1 print(i, j, k) 2 x = x + 3 3 end loop 4 k = k + 1 3 end loop 4 k = 0 5 loop (k < 2*K) 1 print(k) 2 k = k + 1 6 end loop 7 j = j + 1 3 end loop 4 i = i + 1 3 end loop
Question 10. Calculate the run-time efficiency of the following program segment:
1 i = n 2 k = n/3 2 loop (i >= k) 1 j = n 2*k 2 loop (j < i) 1 print(i, j) 2 j = j + 2 3 end loop 4 i = i - 1 3 end loop
Question 11. Write a recurrence equation for the running time T(n) of f(n), and solve that recurrence.
Algorithm f (val n <integer>) Pre n must be greater than 0 Return integer value of f corresponding to n 1 if (n <= 1) 1 return 1 2 else
3/4
Question 12. Solve recurrence f(n) = 2f(n) + log2n. (Hint : change variables, with m = 2n) -- End --
4/4