K.S.R.
COLLEGE OF ENGINEERING, TIRUCHENGODE
(Autonomous)
CONTINUOUS INTERNAL EXAMINATION (CIE) –I
Regulation – 2024
Year/Semester : II Year/III Semester Max Marks : 100
Branch : CSE(CS) Duration : 3 Hr
Subject Code & : 24CBT36 DATA Date & :
Title STRUCTURES AND Session
ALGORITHMS
QUESTION BANK
Part A – (10 × 2 = 20 Marks)
Note to question paper setter:
Note to question paper setter:
In each Unit At least Eight questions should be of Remembrance Level (K1) &
Understanding Level (K2) questions.
Q. UNIT 1 BL CO
No.
1. Define an Abstract Data Type (ADT). K1 CO
1
2. Mention one advantage of linked lists over arrays. K1 CO
1
3. State any two applications of lists. K1 CO
1
4. Describe the concept of a circular linked list with an example K2 CO
scenario. 1
5. Write the syntax for creating an array in C. K1 CO
1
6. List the merits and demerits of stator voltage control. K2 CO
1
7. Describe a real-life application where a circular linked list is K2 CO
preferred. 1
8. Differentiate between static and dynamic memory allocation in list K2 CO
implementation. 1
9. What is the head pointer in a linked list? K1 CO
1
10. State one disadvantage of array-based list implementation. K1 CO
1
UNIT 2
1. Define Stack ADT K1 CO
2
2. State the two main operations of a stack. K1 CO
2
3. List any two applications of stacks. K1 CO
2
4. Describe how postfix expression evaluation is done using a stack. K2 CO
2
5. What is the difference between push and pop operations? K1 CO
2
6. Describe how postfix expression evaluation is done using a stack. K2 CO
2
7. Explain the process of converting an infix expression to postfix K2 CO
using a stack.
2
8. Describe the working of a circular queue with an example. K2 CO
2
9. Mention one advantage of implementing a stack using a linked list. K1 CO
2
10. State the order in which elements are accessed in a queue. K1 CO
2
UNIT 3
1. 1 Define Tree ADT. K1 CO
3
2. What is a binary tree? K1 CO
3
3. List the three common binary tree traversal methods. K1 CO
3
4. Explain the difference between a binary tree and a binary search K2 CO
tree. 3
5. Define an expression tree. K1 CO
3
6. Describe the importance of topological sort in task scheduling. K2 CO
3
7. Explain how to identify a biconnected component in a graph. K2 CO
3
8. Compare B-Tree and B+ Tree in terms of data storage and search. K2 CO
3
9. List two types of graphs. K1 CO
3
10. State the purpose of biconnectivity in graphs. K1 CO
3
UNIT 4
1. Define linear search. K1 CO
4
2. What is binary search? K1 CO
4
3. State one advantage of binary search over linear search. K1 CO
4
4. Differentiate between linear search and binary search in terms of K2 CO
efficiency. 4
5. Define insertion sort. K1 CO
4
6. Explain the heap property used in heap sort. K2 CO
4
7. Explain how linear probing may lead to clustering in hashing. K2 CO
4
8. Explain the purpose of double hashing in reducing collisions. K2 CO
4
9. What is quadratic probing? K1 CO
4
10. What is rehashing in hashing? K1 CO
4
UNIT 5
1. Define algorithm. K1 CO
5
2. What is meant by algorithm analysis framework? K1 CO
5
3. List the three common asymptotic notations. K1 CO
5
4. Describe the significance of asymptotic notations in algorithm K2 CO
analysis. 5
5. What is the basic idea of quick sort? K1 CO
5
6. Explain how a greedy algorithm works with a simple example. K2 CO
5
7. Compare greedy approach and dynamic programming approach. K2 CO
5
8. Explain why traveling salesman problem is considered NP-hard. K2 CO
5
9. Define minimum spanning tree (MST). K1 CO
5
10. What is Dijkstra’s algorithm used for? K1 CO
5
Part B Question Bank
All questions should have at least two lines
Note to question paper setter: Don’t ask question in K1 level
For theory course
Minimum 5 questions / unit
In that Minimum 2 questions should have subdivision ( 8+8 or 10+6) for
R20
In that Minimum 2 questions should have subdivision ( 7+6) ,( 8+5) for
R24
For analytics course
minimum 8 questions / unit
In that Minimum 3 questions should have subdivision ( 8+8 or 10+6) for
R20 (( Faculty can decide the no. of Sub division )
In that Minimum 3 questions should have subdivision ( 7+6) ,( 8+5) for
R24 ( Faculty can decide the no. of Sub division )
Q. Unit -1 BL CO
Marks
No
.
1 i) Explain the concept of List ADT and describe how array- CO
based implementation supports basic operations like 7 K2 1
insertion and deletion. How does the fixed size of arrays
affect its performance?
ii Compare array-based implementation of List ADT with linked CO
list implementation in terms of memory allocation, resizing 6 K2 1
ability, and ease of insertion or deletion.
2 i) Describe the structure of a singly linked list. Explain step-by- CO
step how to insert a new node at the beginning, in the 7 K2 1
middle, and at the end of the list.
ii) Discuss the advantages and limitations of singly linked lists CO
when compared to arrays. How does dynamic memory 6 K2 1
allocation impact the performance?
3 Explain the working of a doubly linked list and describe how K2 CO
insertion and deletion operations are carried out at both the 13 1
head and tail nodes.
4 Compare singly linked lists and doubly linked lists in terms of 13 K2 CO
forward and backward traversal, memory usage, and 1
complexity of operations.
5 Describe the structure of a circularly linked list and explain 13 K2 CO
how traversal is performed starting from any node without 1
reaching a NULL reference.
6 Discuss the advantages of using a circularly linked list over 13 K2 CO
singly and doubly linked lists. Provide at least one real-world 1
application where it is preferred.
7 Explain any three real-world applications of lists, such as task 13 K2 CO
scheduling or managing playlists. How does the choice of 1
implementation affect efficiency?
8 Describe how polynomial addition can be implemented 13 K2 CO
efficiently using linked lists. Explain why linked list 1
representation is better than array representation for this
case.
All questions should have at least two lines
Q. Unit -2 BL CO
Marks
No
.
1 i) Explain the concept of Stack ADT and describe how array- CO
based implementation supports basic operations like push 7 K2
2
and pop. What limitations arise from fixed array size?
ii Compare the array-based and linked list implementations of CO
Stack ADT in terms of memory usage, flexibility, and ease of 6 K2
2
dynamic resizing.
2 i) Describe step-by-step how a stack can be implemented using CO
a linked list. How are overflow and underflow conditions 7 K2
2
handled in this approach?
ii) Explain how stacks can be used to evaluate arithmetic CO
expressions. Provide an example of evaluating a postfix 6 K2
2
expression using a stack.
3 Describe the process of converting an infix expression to a CO
postfix expression using stacks. How does operator 13 K2
2
precedence affect the conversion?
4 Explain the concept of Queue ADT and discuss how enqueue 13 CO
and dequeue operations are implemented in an array-based K2
2
queue. What problem occurs when the queue is full?
5 Compare the linked list implementation of queues with the 13 CO
array-based approach in terms of efficiency, memory use, K2
2
and flexibility.
6 Describe the working of a circular queue and explain how it 13 CO
solves the problem of unused space in an array-based K2
2
queue.
7 Discuss two real-world applications of queues, such as CPU 13 CO
scheduling or print job management. Explain why queue K2
2
order is important in these cases
8 Explain how priority can be introduced in a queue system. 13 K2 CO
How does a priority queue differ from a standard FIFO queue
in behavior and implementation? 2
All questions should have at least two lines
Q. Unit -3 BL CO
Marks
No
.
1 i) Explain the concept of Tree ADT and describe how a binary CO
tree differs from a general tree in structure and node 7 K2
3
connections.
ii Compare the different binary tree traversal methods CO
(inorder, preorder, postorder) and explain how the order of 6 K2 3
visiting nodes changes in each.
2 i) Describe the construction of an expression tree from a given CO
postfix expression. How can such a tree be evaluated? 7 K2 3
ii) Explain the structure of a Binary Search Tree (BST) and CO
describe how insertion and search operations work with an 6 K2 3
example.
3 Compare AVL trees with Binary Search Trees in terms of K2 CO
balancing property. Why does AVL tree provide better search 13 3
performance?
4 Define graphs and explain how directed and undirected 13 K2 CO
graphs differ. Provide an example of each type. 3
5 Describe how Breadth-First Traversal (BFS) works on a graph. 13 K2 CO
How does the queue data structure help in its 3
implementation?
6 Explain the Depth-First Traversal (DFS) algorithm for graphs 13 K2 CO
and discuss the role of recursion or a stack in its execution. 3
7 Describe the process of topological sorting in a directed 13 K2 CO
acyclic graph. Why is this technique important in scheduling 3
tasks?
8 Explain the difference between a B-Tree and a B+ Tree in 13 K2 CO
terms of structure, storage, and search efficiency. 3
All questions should have at least two lines
Q. Unit -4 BL CO
Marks
No
.
1 i) Compare Linear Search and Binary Search in terms of time CO
complexity and explain when each method is more suitable. 7 K2
4
ii Explain the working of Bubble Sort and describe how the CO
number of passes changes with partially sorted data. 6 K2
4
2 i) Compare Selection Sort and Insertion Sort in terms of CO
number of swaps, comparisons, and suitability for small 7 K2 4
datasets.
ii) Describe the Heap Sort algorithm and explain how the heap CO
property is maintained during the sorting process. 6 K2 4
3 Explain the purpose of a hash function and discuss the K2 CO
qualities of a good hash function for minimizing collisions. 13 4
4 Compare Separate Chaining and Open Addressing as K2 CO
collision resolution techniques in hashing, with suitable 13 4
examples.
5 Explain how Linear Probing resolves collisions in hashing and K2 CO
discuss its primary drawback. 13 4
6 Describe Quadratic Probing and Double Hashing as methods K2 CO
for collision resolution. How do they differ in probing 13 4
sequence?
7 Explain the concept of Rehashing and describe when and K2 CO
why it becomes necessary in hash table operations. 13 4
8 Describe Extendible Hashing and explain how it adapts to 13 K2 CO
dynamic changes in the number of records without excessive
collisions. 4
All questions should have at least two lines
Q. Unit -5 BL CO
Marks
No
.
1 i) Explain the key steps involved in the fundamentals of CO
algorithmic problem solving and describe their importance in 7 K2
5
program design.
ii Describe the algorithm analysis framework and explain how CO
it helps in comparing the efficiency of different algorithms. 6 K2 5
2 i) Explain the different types of Asymptotic Notations and CO
discuss how they are used to represent time complexity. 7 K2 5
ii) Describe the Divide and Conquer strategy using Merge Sort CO
as an example, explaining how the problem is divided and 6 K2 5
merged.
3 Explain the working of Quick Sort and describe how the K2 CO
choice of pivot influences performance. 13 5
4 Describe Huffman’s Coding algorithm and explain how it is 13 K2 CO
used for data compression using the greedy approach. 5
5 Explain the Dynamic Programming approach to solving the 13 K2 CO
Traveling Salesman Problem and its advantage over brute
force. 5
6 Compare Prim’s Algorithm and Kruskal’s Algorithm for finding 13 K2 CO
the Minimum Spanning Tree in terms of approach and 5
efficiency.
7 Describe the working of Dijkstra’s Algorithm for finding the 13 K2 CO
Single Source Shortest Path in a weighted graph. 5
8 Compare Divide and Conquer, Greedy, and Dynamic 13 K2 CO
Programming strategies, explaining when each is more 5
suitable for problem solving.
Part C Question Bank
Should be Innovative, Apply & Analytical Questions only / Case
study may ask.
Maximum 8 Questions
Q. BL CO
Marks
No
.
1. A hospital management system needs to maintain patient records CO
in order of admission and allow insertion or removal at any 13 K3 1
position. Design a suitable list implementation and justify your
choice between array and linked list.
2. You are developing a playlist feature for a music app where songs 13 K3 CO
can loop endlessly. Propose a suitable circular linked list structure
and explain how you will handle insertion at different positions. 2
3. A compiler needs to check whether parentheses in a given 13 CO
mathematical expression are balanced. Describe how you will K3
2
design a stack-based algorithm for this scenario.
4. A ride-sharing app needs to find the shortest path between two 13 CO
points in a city with multiple road connections. Select a suitable K3 3
graph representation and explain which traversal or algorithm
you will apply.
5. A search engine stores its keyword index using a balanced tree 13 CO
structure to allow fast insertion, deletion, and search. Propose K3 3
whether AVL tree, B-Tree, or B+ Tree is more suitable and justify
your answer.
6. A logistics company maintains thousands of shipment records 13 CO
and needs fast retrieval based on shipment ID. Choose an K3 4
appropriate search algorithm and explain why it is better than
alternatives.
7. An e-commerce platform needs to resolve hash collisions in its 13 CO
product ID database. Compare Linear Probing, Quadratic Probing, K3 4
and Separate Chaining, and recommend the most suitable for
large dynamic data.
8. A telecom company needs to connect several network towers 13 CO
with minimal cabling cost. Design a solution using either Prim’s or K3 5
Kruskal’s algorithm and explain why your chosen method is
optimal.