Multiple Choice Questions Related To Testing Knowledge About Time and Space Complexity of A Program - Tutorial - CodeChef Discuss
Multiple Choice Questions Related To Testing Knowledge About Time and Space Complexity of A Program - Tutorial - CodeChef Discuss
Hi fellow programmers,
We are trying to create a multiple choice quiz for space and time complexity of the programs
related questions. Here are a set of 20 questions we collected. Please feel free to give your
answers to these questions. Any feedback about the set of questions. Please also feel
propose to any more set of MCQs that you would like to add here, there might be some
interesting questions that you might have encountered during the programming and would
like to add here
Q1.
Average case time complexity of quicksort?
A. O(n)
B. O(n log n)
C. O(n2 )
D. O(n3 )
Q2.
Worst case time complexity of quicksort?
A. O(n)
B. O(n log n)
C. O(n2 )
D. O(n3 )
Q3.
Time complexity of binary search?
A. O(1)
B. O(log n)
2
2
C. O((log n) )
D. O(n)
Q4.
def f()
ans = 0
for i = 1 to n:
for j = 1 to log(i):
ans += 1
print(ans)
A. O(n)
B. O(n log n)
C. O(n2 )
D. O(n3 )
Q5.
def f():
a = 0
for i = 1 to n:
a += i;
b = 0
for i = 1 to m:
b += i;
A. O(n)
B. O(m)
C. O(n + m)
D. O(n ∗ m)
Q6.
def f():
a = 0
for i = 1 to n:
a += random.randint();
b = 0
for j = 1 to m:
b += random.randint();
A. O(n)
B. O(m)
C. O(n + m)
D. O(n ∗ m)
Q7.
def f():
int a[n][n]
sum = 0
for i = 1 to n:
for j = i to n:
sum += a[i][j]
print(sum)
A. O(n)
B. O(n log n)
C. O(n2 )
D. O(n3 )
Q8.
def f():
int a[n][n]
sum = 0
// Finding sum of elements of a matrix that are strictly above the diagonal
for i = 1 to n:
for j = i to n:
sum += a[i][j]
print(sum)
for i = 1 to n:
sum -= a[i][i]
A. O(n)
B. O(n log n)
C. O(n2 )
D. O(n3 )
Q9.
def f():
ans = 0
for i = 1 to n:
for j = n to i:
ans += (i * j)
print(ans)
A. O(n)
B. O(n log n)
C. O(n2 )
D. O(n3 )
Q10.
def f():
sum = 0
for i = 1 to N:
for j = i to M:
for k = j to K:
sum += a[i][j]
print(sum)
A. O(N + M + K)
B. O(N ∗ M ∗ K)
C. O(N ∗ M + K)
D. O(N + M ∗ K)
Q11.
def f(n):
ans = 0
ans += n
n /= 2;
print(ans)
A. O(log n)
B. O(n)
B. O(n log n)
C. O(n2 )
Q12.
def f(n):
ans = 0
ans += n % 10
n /= 10;
print(ans)
A. O(log2 n)
B. O(log3 n)
C. O(log10 n)
D. O(n)
Q13.
def f():
ans = 0
for j = m to i:
ans += (i * j)
print(ans)
B. O(n ∗ m)
C. O(m log n)
D. O(n log m)
Q14.
def f():
ans = 0
for (j = 1; j <= m; j *= 2)
ans += (i * j)
print(ans)
A. O(n ∗ m)
B. O(log m log n)
C. O(m log n)
D. O(n log m)
Q15.
if (a < b) swap(a, b)
if (b == 0) return a;
Let n = max{a, b}
A. O(1)
B. O(log n)
C. O(n)
D. O(n2
Q16.
lo = 0, hi = len(a) - 1
else lo = mid + 1;
Let n = len(a)
A. O(1)
B. O(log n)
C. O(n)
D. O(n2
Q17.
// Given a sorted array a, find the number of occurrence of number x in the entire array.
count_occurrences(a, x, 0, len(a) - 1)
Let n = len(a)
A. O(1)
B. O(log n)
C. O(n)
D. O(n2
Q18.
// Finding fibonacci numbers.
def f(n):
if n == 0 or n == 1: return 1
A. O(log n)
B. O(n)
C. O(n2 )
D. O(2n )
Q19.
def f(n):
if n == 0 or n == 1: ans = 1
memo[n] = ans
return ans
ans = f(n)
A. O(log n)
B. O(n)
C. O(n2 )
D. O(2n )
Q20.
def f(a):
n = len(a)
j = 0
for i = 0 to n - 1:
j += 1
A. O(log n)
B. O(n)
C. O(n log n)
D. O(n2 )
Q21.
def f():
ans = 0
for i = 1 to n:
for j = i; j <= n; j += i:
ans += 1
print(ans)
A. O(log n)
B. O(n)
C. O(n log n)
D. O(n2 )