COMPUTER

Data Structures and Algorithms

24ERP304 · S3 · 4 credits

5 modules · Practice & PYQs ready

§
Syllabus
Loading syllabus…
Manage →
⚡ DAY-BEFORE EXAM

Have an exam tomorrow?

Get a high-yield attack plan focused on maximum marks per minute. Zero fluff, strict PYQ priority, active recall, and trap avoidance.

Strategy: High-yield concepts + PYQs + weak areas

Tap a module to mark as weak
PRIORITY A
Trees and Graphs

Why:4 high-weightage exam questions · Formula-heavy module · Many definitions to memorize · Has worked numerical examples

+ Mark Weak
PRIORITY A
Hashing Table and Tries

Why:3 high-weightage exam questions · Formula-heavy module · Many definitions to memorize · Has worked numerical examples

+ Mark Weak
PRIORITY B
Arrays and Linked List

Why:4 high-weightage exam questions · Many definitions to memorize · Has worked numerical examples

+ Mark Weak
PRIORITY B
Sorting and Searching

Why:3 high-weightage exam questions · Formula-heavy module · Many definitions to memorize · Has worked numerical examples

+ Mark Weak
PRIORITY C
Basic Concepts of Data Structures

Why:3 high-weightage exam questions · Formula-heavy module · Many definitions to memorize · Has worked numerical examples · Foundation module

+ Mark Weak
Modules
5 modules
PYQs · 29 questionsFull bank →
Browse by moduleexpand

M1Basic Concepts of Data Structures

high

Define Big-O, Big-Omega and Big-Theta notation with examples.

high

Differentiate Abstract Data Type and Data Structure.

high

Find the time complexity of a given code snippet (nested loops / recursion).

medium

Differentiate best, worst and average case complexity with an example (e.g. linear search).

medium

State and apply the Master Theorem on a given recurrence relation.

M2Arrays and Linked List

high

Convert a given infix expression to postfix using the stack-based algorithm (show the stack at each step).

high

Evaluate a given postfix expression using a stack (show step-by-step trace).

high

Differentiate array and linked list as data structures (memory, access time, insertion/deletion cost).

high

Write an algorithm to insert/delete a node at a given position in a singly linked list.

medium

Differentiate singly, doubly and circular linked lists.

medium

Explain how a circular queue overcomes the limitation of a linear queue.

M3Trees and Graphs

high

Write the algorithm for preorder/inorder/postorder traversal of a binary tree.

high

Construct a BST by inserting a given sequence of numbers, then show its inorder traversal.

high

Trace BFS and DFS on a given graph starting from a specified vertex.

high

Differentiate adjacency matrix and adjacency list representations of a graph.

medium

Explain deletion in a BST for the three cases (leaf, one child, two children).

medium

State real-world applications of graph traversal algorithms.

M4Sorting and Searching

high

Trace merge sort / quick sort / heap sort on a given array, showing every intermediate step.

high

Compare the time and space complexity of heap sort, merge sort and quick sort.

high

Write and analyze the binary search algorithm, deriving its time complexity.

medium

Explain why quick sort's worst case is O(n²) and how a good pivot choice avoids it.

medium

Explain the need for and working of external memory sorting.

medium

Differentiate linear search and binary search, including their preconditions.

M5Hashing Table and Tries

high

Given a set of keys and a hash function, build the hash table resolving collisions using chaining.

high

Given a set of keys, build the hash table using linear probing / quadratic probing / double hashing.

high

Differentiate chaining and open addressing as collision-resolution techniques.

medium

Explain load factor and its effect on hash table performance.

medium

Explain the structure and use of a Trie with an example set of words.

medium

Explain how hashing is used to find duplicates / compute set intersection efficiently.

Notes / Resources

Exam-focused notes are optional context — Continue Learning above works even without them.

Module Progressnot assessed
Module overview

What this module covers

What it's about
This chapter introduces what a data structure actually is, why we bother choosing one over another, and how to measure an algorithm's efficiency using time and space complexity and the asymptotic notations O, Ω, Θ.
Why it matters in exams
Almost every KTU/TKM DSA paper opens with a question from this module — a Big-O definition, a code-complexity trace, or an ADT-vs-data-structure distinction. It is the highest-frequency module in the subject and is a prerequisite for every later module, so these are the cheapest marks in the whole syllabus.
Think of it like…
Think of Big-O like a speed limit sign, not a speedometer reading — it tells you the worst the algorithm can possibly do as input grows, not its exact runtime on one particular input.

≈ 10h of curated content available across this subject.