DATA STRUCTURES AND ALGORITHMS
Time: 3 Hours
Maximum Marks: 100
Section A – Multiple Choice Questions (10 × 1 = 10 Marks)
1. Which of the following is a linear data structure?
a) Graph b) Tree c) Array d) Heap
2. The time complexity of Binary Search is:
a) O(n) b) O(log n) c) O(n log n) d) O(1)
3. Which data structure uses FIFO principle?
a) Stack b) Queue c) Tree d) Graph
4. In a singly linked list, each node contains:
a) Data only b) Pointer only c) Data and pointer d) None
5. Which sorting algorithm is based on Divide and Conquer?
a) Bubble Sort b) Insertion Sort c) Quick Sort d) Selection Sort
6. The traversal technique that uses a queue is:
a) DFS b) BFS c) Inorder d) Postorder
7. Which tree is used in Binary Search Tree operations?
a) AVL Tree b) General Tree c) Graph d) Heap
8. Which algorithm is used to find shortest path in a graph?
a) Prim’s b) Kruskal’s c) Dijkstra’s d) DFS
9. The worst-case time complexity of Bubble Sort is:
a) O(n) b) O(log n) c) O(n^2) d) O(n log n)
10. Which of the following is an example of Dynamic Programming?
a) Merge Sort b) Longest Common Subsequence c) BFS d) Selection Sort
Section B – Short Answer Questions (7 × 5 = 35 Marks)
1. Define data structure and explain types of data structures.
2. Explain row major and column major representation of arrays.
3. Write short notes on stack operations (Push and Pop).
4. Differentiate between linear search and binary search.
5. Explain adjacency matrix and adjacency list representation of graphs.
6. Describe tree traversal techniques with examples.
7. Explain hashing and collision resolution techniques.
Section C – Long Answer Questions (3 × 15 = 45 Marks)
1. Explain singly linked list with diagram. Write algorithms for insertion and deletion
operations.
2. Explain Merge Sort and Quick Sort with suitable example. Compare their time
complexities.
3. Explain Divide and Conquer and Dynamic Programming approaches with suitable
examples (Dijkstra, Bellman-Ford, LCS, Prim’s/Kruskal’s).
**************