Topics →
Chapter-wise lecture pages with figures from the slides, interactive demos, and self-quiz answers.
Section 02Practical →
The laboratory course — weekly lab sheets and the lab assessment rules.
Section 03Tutorials →
Practice problem sets released after each chapter is covered in class.
Course at a Glance
Everything administrative in one place — codes, textbook, and how you will be graded.
The course
Design and Analysis of Algorithms, with the accompanying laboratory course Design and Analysis of Algorithms Laboratory — see the Practical section. Class load: Theory 3, Tutorial 1, plus the practical sessions.
Assessment (theory)
Class Timetable
Weekly schedule for the theory and laboratory courses · Instructor: Dr. Alakesh Kalita.
NMCC202 / NMCC526 · Theory
| Day | Slot | Venue |
|---|---|---|
| Monday | 9:00 AM – 9:50 AM | NLHC-II-G16 |
| Tuesday | 9:00 AM – 9:50 AM | NLHC-II-G16 |
| Thursday | 9:00 AM – 9:50 AM | NLHC-II-G16 |
| Friday | 9:00 AM – 9:50 AM | NLHC-II-G16 |
Tuesday’s slot doubles as the tutorial hour.
NMCC205 / NMCC528 · Laboratory
| Day | Slot | Venue |
|---|---|---|
| Thursday | 3:00 PM – 3:50 PM | NLHC Computer Lab - I |
| Thursday | 4:00 PM – 4:50 PM | NLHC Computer Lab - I |
| Thursday | 5:00 PM – 5:50 PM | NLHC Computer Lab - I |
Weekly lab assessment contributes 30% of the lab grading — details in Practical.
Syllabus
Unit-wise topics and lecture hours.
Foundations of Data Structures and Algorithms
- Review of Basic Data Structures (Arrays, Linked Lists, Stacks, Queues)
- Complexity Analysis: Time and Space Complexity, Big-O, Ω, and Θ Notation
- Sorting Algorithms and Divide and Conquer Algorithms (Bubble sort, Insertion sort, Merge Sort, Quick Sort, Binary Search)
- Recursion and Backtracking
Advanced Data Structures
- Hashing Techniques and Hash Tables
- Heaps and Priority Queues, Heap sort, Fibonacci Heap sort
- Binary Search Trees, AVL Trees, and Red-Black Trees
Graph Algorithms
- Representation of Graphs (Adjacency Matrix/List)
- Breadth-First Search (BFS) and Depth-First Search (DFS)
- Minimum Spanning Trees (Prim's and Kruskal's Algorithms)
- Shortest Path Algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)
Greedy Algorithms and Dynamic Programming
- Greedy Strategy: Principles and Applications
- Classic Problems: Huffman Encoding, Job sequencing with deadlines
- Dynamic Programming: Principles and Patterns
- Classic Problems: Knapsack, Longest Common Subsequence, Matrix Chain Multiplication, Rod-cutting Problem
Advanced Topics
- Introduction to Randomized Algorithms
- NP-Completeness and Reductions, Cook's theorem, Satisfiability
- Approximation Algorithms
- Gradient descent Algorithm (ML)
Join the Course WhatsApp Group
Announcements, schedule changes, and material updates land here first.
DAA_26 · WhatsApp group
Open WhatsApp → tap the camera → scan this QR code to join.
For enrolled students of NMCC202 / NMCC526 and the laboratory course.