Algorithms
Complexity Analysis and Asymptotic Notations
Marks 1Marks 2
Searching and Sorting
Marks 1Marks 2
Divide and Conquer Method
Marks 1Marks 2
Greedy Method
Marks 1Marks 2
P and NP Concepts
Marks 1Marks 2
Dynamic Programming
Marks 1Marks 2
1
GATE CSE 2007
MCQ (Single Correct Answer)
+2
-0.6
In the following C function, let n $$ \ge $$ m.
int gcd(n,m)
{
if (n % m == 0) return m;
n = n % m;
return gcd(m,n);
}
How many recursive calls are made by this function?
A
$$\Theta(\log_2n)$$
B
$$\Omega(n)$$
C
$$\Theta(\log_2\log_2n)$$
D
$$\Theta(\sqrt{n})$$
2
GATE CSE 2007
MCQ (Single Correct Answer)
+2
-0.6
What is the time complexity of the following recursive function?
int DoSomething(int n){
 if(n <= 2)
     return 1;
 else
     return (floor(sqrt(n)) + n);
}
A
$$\Theta \,({n^2})$$
B
$$\Theta \,(n\,{\log _2}\,n)$$
C
$$\Theta \,({\log _2}\,n)$$
D
$$\Theta \,({\log _2}\,{\log _2}\,n)$$
3
GATE CSE 2007
MCQ (Single Correct Answer)
+2
-0.6
Consider the following C code segment:
int IsPrime(n){
 int i, n;
 for(i=2; i<=sqrt(n);i++){
  if(n % i == 0){
    printf("No prime\n"); return 0;
  }
  return 1;
 }
}
Let T(n) denote the number of times the for loop is executed by the program on input n. Which of the following is TRUE?
A
T(n) = O ($$\sqrt n $$) and T(n) = $$\Omega \,(\sqrt n )$$
B
T(n) = O ($$\sqrt n $$) and T(n) = $$\Omega \,(1)$$
C
T(n) = O (n) and T(n) = $$\Omega \,(\sqrt n )$$
D
None of the above
4
GATE CSE 2005
MCQ (Single Correct Answer)
+2
-0.6
Consider the following C - function:
double foo(int n){
 int i;
 double sum;
 if(n == 0) return 1.0;
 sum = 0.0;
 for (i = 0; i < n; i++){
  sum += foo(i);
 }
 return sum;
}
Suppose we modify the above function foo() and store the values of foo(i), $$0 \le i \le n$$, as and when they are computed. With this modification, the time complexity for function foo() is significantly reduced. The space complexity of the modified function would be:
A
O(1)
B
O(n)
C
O(n2)
D
O(n!)
GATE CSE Subjects
Theory of Computation
Operating Systems
Algorithms
Digital Logic
Database Management System
Data Structures
Computer Networks
Software Engineering
Compiler Design
Web Technologies
General Aptitude
Discrete Mathematics
Programming Languages
Computer Organization