0% found this document useful (0 votes)
11 views11 pages

MCQ DS

The document is a question bank focused on Data Structures and Algorithms, containing 50 questions covering various topics such as arrays, queues, binary trees, sorting algorithms, and time complexities. Each question includes multiple-choice answers, testing knowledge on initialization, operations, and properties of different data structures. It serves as a study resource for individuals preparing for exams or interviews in computer science.

Uploaded by

coc69351
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views11 pages

MCQ DS

The document is a question bank focused on Data Structures and Algorithms, containing 50 questions covering various topics such as arrays, queues, binary trees, sorting algorithms, and time complexities. Each question includes multiple-choice answers, testing knowledge on initialization, operations, and properties of different data structures. It serves as a study resource for individuals preparing for exams or interviews in computer science.

Uploaded by

coc69351
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Question Bank

Data Structure and Algorithms

1. How is an array initialized in C language?


 int a[3] = {1, 2, 3};
 int a = {1, 2, 3};
 int a[] = new int[3]
 int a(3) = [1, 2, 3];

2. Which of the following is a linear data structure?


 Array
 AVL Trees
 Binary Trees
 Graphs

3.How is the 2nd element in an array accessed based on pointer notation?


 *a + 2
 *(a + 2)
 *(*a + 2)
 &(a + 2)

4. Which of the following is not the type of queue?


 Priority queue
 Single-ended queue
 Circular queue
 Ordinary queue

5.From following which is not the operation of data structure?


 Operations that manipulate data in some way
 Operations that perform a computation
 Operations that check for syntax errors
 Operations that monitor an object for the occurrence of a controlling event

6.What will be the output of the following code snippet?


void solve() {
int a[] = {1, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i < 5; i++) {
if(i % 2 == 0) {
sum += a[i];
}
}
cout << sum << endl;
}
 5
 15
 9
 6

7.What will the output of the following code snippet?


void solve() {
int a[] = {1, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i < 5; i++) {
if(i % 2 == 0) {
sum += *(a + i);
}
else {
sum -= *(a + i);
}
}
cout << sum << endl;
}
 2
 15
 Syntax Error
 3

8.What is the disadvantage of array data structure?


 The amount of memory to be allocated should be known beforehand.
 Elements of an array can be accessed in constant time.
 Elements are stored in contiguous memory blocks.
 Multiple other data structures can be implemented using arrays.

9.How are String represented in memory in C?


 An array of characters.
 The object of some class.
 Same as other primitive data types.
 LinkedList of characters.

10.What is the output of the following code snippet?


void solve() {
stack<int> s;
s.push(1);
s.push(2);
s.push(3);
for(int i = 1; i <= 3; i++) {
cout << s.top() << “ “;
s.pop();
}
}
 321
 123
 3
 1

11.Which of the following is the advantage of the array data structure?


 Elements of mixed data types can be stored.
 Easier to access the elements in an array
 Index of the first element starts from 1.
 Elements of an array cannot be sorted

12.What function is used to append a character at the back of a string in C++?


 push_back()
 append()
 push()
 insert()

13.Which one of the following is an application of queue data structure


 When a resource is shared among multiple consumers.
 When data is transferred asynchronously
 Load Balancing
 All of the above

14.When a pop() operation is called on an empty queue, what is the condition


called?
 Overflow
 Underflow
 Syntax Error
 Garbage Value

15.What is the time complexity of the following code snippet in C++?


void solve() {
string s = "scaler";
int n = s.size();
for(int i = 0; i < n; i++) {
s = s + s[i];
}
cout << s << endl;
}
 O(n)
 O(n^2)
 O(1)
 O(log n)
16.Which of the following data structures can be used to implement queues?
 Stack
 Arrays
 LinkedList
 All of the Above

17.Which of the following data structures finds its use in recursion?


 Stack
 Arrays
 LinkedList
 Queues

18.Which of the following data structures allow insertion and deletion from both
ends?
 Stack
 Deque
 Queue
 Strings
19.What will be the output of the following code snippet?
void solve() {
deque<int> dq;
for(int i = 1; i <= 5; i++) {
if(i % 2 == 0) {
dq.push_back(i);
}
else {
dq.push_front(i);
}
}
for(auto x: dq) {
cout << x << " ";
}
cout << endl;
}
 123 45
 543 21
 135 24
 531 24

20.Which of the following sorting algorithms provide the best time complexity in
the worst-case scenario?
 Merge Sort
 Quick Sort
 Bubble Sort
 Selection Sort
21.What is the maximum number of swaps that can be performed in the Selection
Sort algorithm?
 n-1
 n
 1
 n-2

22.Which of the following is a Divide and Conquer algorithm?


 Bubble Sort
 Selection Sort
 Heap Sort
 Merge Sort

23.What will be the best sorting algorithm, given that the array elements are small ?
 Bubble Sort
 Merge Sort
 Counting Sort
 Heap Sort

24.Which of the following are applications of Topological Sort of a graph?


 Sentence Ordering.
 Course Scheduling.
 OS Deadlock Detection.
 All of the above.

25.Which of the following is known to be not an NP-Hard Problem?


 Vertex Cover Problem.
 0/1 Knapsack Problem.
 Maximal Independent Set Problem.
 Travelling Salesman Problem.

26.Which of the following algorithms are used for string and pattern matching
problems?
 Z Algorithm
 Rabin Karp Algorithm
 KMP Algorithm
 All of the above

27.Consider we have a function, getLCA(), which returns us the Lowest Common


Ancestor between 2 nodes of a tree. Using this getLCA() function, how can we
calculate the distance between 2 nodes, given that distance from the root, to each
node is calculated?
 dist(u) + dist(v) - 2 * dist(getLCA(u, v))
 dist(u) + dist(v) + 2 * dist(getLCA(u, v))
 dist(u) + dist(v)
 dist(u) + dist(v) - dist(getLCA(u, v))

28.Which of the following algorithms are useful for processing queries on trees?
 Centroid Decomposition.
 Heavy Light Decomposition.
 Both (A) and (B).
 Neither (A) nor (B).

29. What is the time complexity of the binary search algorithm?


 O(n)
 O(1)
 O(log2n)
 O(n^2)

30.Kruskal’s Algorithm for finding the Minimum Spanning Tree of a graph is a kind
of a?
 DP Problem.
 Greedy Algorithm.
 Adhoc Problem.
 None of the above.

31.What will be the output of the following code snippet?


void solve() {
string s = "00000001111111";
int l = 0, r = s.size() - 1, ans = -1;
while(l <= r) {
int mid = (l + r) / 2;
if(s[mid] == '1') {
ans = mid;
r = mid - 1;
}
else {
l = mid + 1;
}
}
cout << ans << endl;
}
 6
 7
 0
 1

32.Maps in C++ are implemented using which of the following data structures?
 Red-Black Trees.
 Binary Search Trees.
 AVL Trees.
 Hash Tables.

33.What will be the output of the following code snippet?


void solve() {
int n = 24;
int l = 0, r = 100, ans = n;
while(l <= r) {
int mid = (l + r) / 2;
if(mid * mid <= n) {
ans = mid;
l = mid + 1;
}
else {
r = mid - 1;
}
}
cout << ans << endl;
}
 5
 4
 6
 3

34.What will be the output of the following code snippet?


int search(int l, int r, int target, vector<int> &a) {
int mid = (l + r) / 2;
if(a[mid] == target) {
return mid;
}
else if(a[mid] < target) {
return search(mid + 1, r, target, a);
}
else {
return search(0, mid - 1, target, a);
}
}
void solve() {
vector<int> a = {1, 2, 3, 4, 5};
cout << search(0, 4, 4, a) << endl;
}
 3
 4
 0
 2
35.What is the best case time complexity of the binary search algorithm?
 O(1)
 O(n)
 O(log2n)
 O(n^2)

36.What is the time complexity to insert an element to the front of a


LinkedList(head pointer given)?
 O(n)
 O(1)
 O(logn)
 O(n * logn)

37.What is the time complexity to insert an element to the rear of a LinkedList(head


pointer given)?
 O(n)
 O(1)
 O(logn)
 O(n * logn)

38.What will be the value of “sum” after the following code snippet terminates?
void solve(ListNode* root) {
/*
The LinkedList is defined as:
root-> val = value of the node
root-> next = address of next element from the node
The List is 1 -> 2 -> 3 -> 4 -> 5
*/
int sum = 0;
while(root -> next != NULL) {
sum += root -> val;
root = root -> next;
}
cout << sum << endl;
}
 10
 20
 5
 1
39.Which of the following can be done with LinkedList?
 Implementation of Stacks and Queues
 Implementation of Binary Trees
 Implementation of Data Structures that can simulate Dynamic Arrays
 All of the above

40. What is the information, which a LinkedList’s Node must store?


 The address of the next node if it exists
 The value of the current node
 Both (A) and (B)
 None of the above

41.What is the maximum number of children a node can have in an n-ary tree?
 2
 0
 1
 n

42.Worst case time complexity to access an element in a BST can be?


 O(n)
 O(n * logn)
 O(1)
 O(logn)

43.Which of the following represents the Postorder Traversal of a Binary Tree?


 Left -> Right -> Root
 Left -> Root -> Right
 Right -> Left -> Root
 Right -> Root -> Left

44.In what time complexity can we find the diameter of a binary tree optimally?
 O(V + E)
 O(V)
 O(E)
 O(V * logE)

45.Which of the following statements is true about AVL Trees?


 The difference between the heights of left and right nodes cannot be more
than 1.
 The height of an AVL Tree always remains of the order of O(logn)
 AVL Trees are a type of self-balancing Binary Search Trees.
 All of the above.

46. In a graph of n nodes and n edges, how many cycles will be present?
 Exactly 1
 At most 1
 At most 2
 Depends on the graph

47. A node in a tree, such that removing it splits the tree into forests, with size of
each connected component being not greater than n / 2 is called?
 Center
 Diameter
 Centroid
 Path

48. Which of the following algorithms are used to find the shortest path from a
source node to all other nodes in a weighted graph?
 BFS.
 Djikstra’s Algorithm.
 Prims Algorithm.
 Kruskal’s Algorithm.

49. What is the best time complexity we can achieve to precompute all-pairs
shortest paths in a weighted graph?
 O(n^3)
 O(n^2)
 O(n)
 O(n^4)

50. Which data structure is mainly used for implementing the recursive algorithm?
 Queue
 Stack
 Array
 List

You might also like