Data Structures
Unit – 1
1. What is data?*
2. What is a data structure?*
3. What is an abstract data type?*
4. What is algorithm complexity?
5. What are time and space complexities?
6. Explain asymptotic notations / Find the complexity of an algorithm.*
7. What are strings?
8. Name and explain any 7 string operations with programs.*
9. Pattern-matching algorithms with programs.*
10. What is word processing? Explain operations with examples.
11. Syntax and examples for if, if-else, while, for.
12. Explain worst case, best case, and average case efficiency with graphs.
13. malloc, calloc, realloc, free (uses and syntax).
14. Different storage representations of strings.
15. Insert a string, delete a string – algorithm and program.
Unit – 2
1. What is an array? / Linear array / Array as an abstract data type / Representation of array in
memory
2. Traversing an array / Insertion and deletion – algorithm and program*
3. Matrix programs / Square matrix / Matrix manipulation*
4. Operations on arrays – algorithm and program
5. Types of arrays
6. Memory representation of arrays – row-major and column-major forms*
7. What is sorting?
8. Bubble sort – algorithm, program, and manual explanation with example*
9. Quick sort – algorithm, program, and manual explanation with example*
10. Selection sort – algorithm, program, and manual explanation with example*
11. Merge sort – algorithm, program, and manual explanation with example
12. Insertion sort – algorithm, program, and manual explanation with example*
13. Linear search and binary search – explanation with example and algorithm*
14. What is a linked list? Explain its representation in memory*
15. Traversing a linked list – algorithm, program, and explanation*
16. Memory allocation in linked lists – malloc, calloc, realloc, free
17. What is garbage collection?
18. Insertion and deletion in linked lists (all cases)*
19. Types of linked lists (mainly circular linked list)
20. Difference between arrays and linked lists*
21. Searching in a singly linked list – algorithm
Unit – 3
1. What is a stack? / Array representation of stack / Linked list representation with program and
explanation*
2. Stack as an Abstract Data Type (ADT)
3. Polish notation (prefix, infix, postfix)*
4. Conversion of infix to postfix – program, explanation, and problem-solving*
5. Evaluation of postfix expression – program, explanation, and problem-solving*
6. Applications of stacks
7. Tower of Hanoi using recursion – program and explanation*
8. What is a queue? (Array and linked list representation with program and explanation)*
9. Types of queues – mainly circular queue, double-ended queue (deque), and priority queue*
10. Operations on queues – programs and explanations*
11. Applications of queues
Unit – 4
1. What is a binary tree?*
2. Traversal of a binary tree (inorder, preorder, postorder)*
3. Height balancing in binary trees*
4. Binary Search Tree (BST) – definition, operations, and properties*
5. Hash table – definition and uses*
6. Collision in hashing*
7. Collision resolving techniques (e.g., chaining, open addressing, linear probing, quadratic
probing, double hashing)*