Q1. An algorithm is made up of 2 modules M1 and M2.
If order of M1 is f(n)
     and M2 is g(n) then theorder of the algorithm is
(a) max(f(n), g(n))
(b) min(f(n), g(n))
(c) f(n) + g(n)
(d) f(n) * g(n)
Q2. The concept of order (Big O) is important because
(a) it can be used to decide the best algorithm that solves a given problem
(b) it determines the maximum size of a problem that can be solved in a
    given system, in a givenamount of time
(c) it is the lower bound of the growth rate of the algorithm
(d) Both (a) and (b)
Q3. There are 4 different algorithms. A1, A2, A3, A4 to solve a given problem
     with the order log(n),log(log(n)), nlog(n), n/log(n) respectively. Which is the
     best algorithm?
(a) A1
(b) A2
(c) A3
(d) A4
Q4. Consider the following 2 functions:f(n) = n3, if 0 ≤ n < 10,000
          = n2, otherwise g(n) = n, if 0 ≤ n < 100
          = n2 + 5n, otherwise
     Which of the following option is correct?
(a) f(n) is O(n3)
(b) g(n) is O(n3)
(c) O(f(n)) is same as O(g(n))
(d) g(n) is O(1)
Q5. Let w(n) and A(n) denote respectively, the worst case and average
     case running time of analgorithm executed on an input of size n.
     which of the following is ALWAYS TRUE?
(a) A(n)=Ω(n)
(b) A(n)=theta(n)
(c) A(n)=O(n)
(d) A(n)=o(n)
Q6. Which of the following is not O(n^2)?
(a) (15^10) * n + 12099
(b) n^1.98
(c) n^3 / (sqrt(n))
(d) (2^20) * n
Q7. Which of the given options provides the increasing order of asymptotic
  complexity of functions f1, f2, f3 and f4?
            f1(n) = 2^n
            f2(n) = n^(3/2)
            f3(n) = nLogn
            f4(n) = n^(Logn)
(a) f3, f2, f4, f1
(b) f3, f2, f1, f4
(c) f2, f3, f1, f4
(d) f2, f3, f4, f1
Q8. In a competition, four different functions are observed. All the functions use
    a single for loopand within the for loop, same set of statements are executed.
    Consider the following for loops:
           (1) for(i = 0; i< n; i++)
           (2) for(i = 0; i< n; i += 2)
           (3) for(i = 1; i< n; i *= 2)
           (4) for(i = n; i> -1; i /= 2)
     If n is the size of input(positive), which function is most efficient (if the task
     to be performed is not an issue)?
(a) 1                     (b) 2
(c) 3                     (d) 4
Q9. The running time T(n), where ‘n’ is the input size, of a recursive algorithm is
     given as follows
            T(n) = C+T(n-1), if n>1
                  = d, if n ≤ 1
The order of the algorithm is
(a) n2
(b) n
(c) n3
(d) nn
Q10. The time complexity of an algorithm T(n), where n is the input size, is given
by
           T(n) = T(n-1) + 1/n, if n>1
                 = 1, otherwise.
The order of the algorithm is
(a) log n
(b) n
(c) n2
(d) nn
Q11. The order of a binary search algorithm is
(a) n
(b) n2
(c) nlogn
(d) logn
Q12. The recurrence relation that arises in relation with the complexity of binary
search, ‘O’
(a) T(n)= T(n/2) + k, where k is a constant
(b) T(n)= 2T(n/2) + k, where k is a constant
(c) T(n)= T(n/2) + log(n)
(d) T(n)= T(n/2) + n
Solutions:
   1) A
   2) D
   3) B
   4) C
   5) C
   6) C
   7) A
   8) C
   9) B
   10) A
   11) D
   12) A