Data Structures – Question Paper**
**Time:** 3 Hours
**Maximum Marks:** 70
---
### **Instructions:**
* All questions are **compulsory**.
* Internal choices are provided where applicable.
* Use algorithms or code (in C/Java/Python) wherever appropriate.
* Clearly mention assumptions and logic.
---
### **Section A – Very Short Answer Questions (5 × 2 = 10 Marks)**
(Answer all questions in 1–2 lines.)
1. Define data structure.
2. What is the difference between a stack and a queue?
3. What is a circular linked list?
4. Define recursion with an example.
5. What is the time complexity of binary search?
---
### **Section B – Short Answer Questions (4 × 5 = 20 Marks)**
(Attempt any **four** questions.)
1. Explain the different types of data structures with examples.
2. Write an algorithm for **insertion** in a singly linked list.
3. Convert the infix expression `A + B * C` to postfix and explain the steps.
4. Explain different types of queues and their applications.
5. What is a binary tree? Write its properties and applications.
6. Differentiate between linear and non-linear data structures with examples.
---
### **Section C – Long Answer / Applied Questions (4 × 10 = 40 Marks)**
(Attempt any **four** questions.)
1. Write a program to implement **stack** using arrays. Include push, pop, and
display operations.
2. Explain and write an algorithm for **merge sort**. Show the working of merge
sort on the array: `[38, 27, 43, 3, 9, 82, 10]`.
3. Define graph. Describe **DFS and BFS** traversal algorithms with pseudocode and
example graphs.
4. Write a program or algorithm to **reverse a singly linked list**.
5. Explain **heap** and its operations. How is a max heap created from an array
`[10, 20, 15, 30, 40]`?
6. Describe **hashing** and explain **collision resolution techniques** like
chaining and open addressing.
---