Fall 2026: Design and Analysis of Algorithms
Contents
Logistics
- Class Timings: Mondays, Tuesdays, and Thursdays 9:30 am - 10:30 am
- Classroom: (R-43)
- Lab Timings: Fridays 8:30 am - 10:30 am
- Labs: Computer Lab 4 (CL-3)
Course Overview
- As per the Delhi University Course Syllabus/Guidelines
Lectures
| Lecture | Topic | Lecture Slides | Readings |
|---|---|---|---|
| Unit-1 | Searching, Sorting, Selection, Divide and Conquer: | [unit1.pdf] | Chapter 2,4,6,7,8,9 (R1) |
| Unit 2 | Graphs and Greedy algorithms: | [unit2.pdf] | Chapter 3, 4 (R2) & 15(R1) |
| Unit 3 | Dynamic Programming: | [unit3.pdf] | Chapter 6 (R2) |
| Unit 4 | Hash Functions, Collision resolution schemes: | [unit4.pdf] | Chapter 11 (R1) |
Assignments and Tests
Class Assignments
- Assignment No. 1,
- Assignment No. 2,
Tests and Quizzes
- Test 1 :
- Test 2 :
Labs
Instructions
- Please be on time to avoid the Attendance Penalty.
- Please put your mobile phone on Silent Mode.
- Each lab assignment needs to be submitted in the Google Classroom for evaluation(will be notified in the GC lab-wise, submit before the deadline).
- Turn off(shut down) your assigned computer and arrange the chair before you leave the lab.
Practicals LIst
- Write a program to sort the elements of an array using Insertion Sort (The program should report the number of comparisons).
- Write a program to sort the elements of an array using Merge Sort (The program should report the number of comparisons).
- Write a program to sort the elements of an array using Heap Sort (The program should report the number of comparisons).
- Write a program to sort the elements of an array using Quick Sort (The program should report the number of comparisons).
- Write a program to multiply two matrices using the Strassen’s algorithm for matrix multiplication.
- Write a program to sort the elements of an array using Count Sort.
- Display the data stored in a given graph using the Breadth-First Search algorithm.
- Display the data stored in a given graph using the Depth-First Search algorithm.
- Write a program to determine a minimum spanning tree of a graph using the Prim’s algorithm.
- Write a program to determine the shortest path from a given node s to the other nodes of a graph using the Dijkstra’s algorithm.
- Write a program to solve the 0-1 knapsack problem using Dynamic Programming.
Resources
References:
- Text Book: Tan P.N., Steinbach M, Karpatne A. and Kumar V. Introduction to Data Mining, Second edition, Sixth Impression, Pearson, 2023.
Additional References:
- Han J., Kamber M. and Pei J. Data Mining: Concepts and Techniques, 3rd edition, 2011, Morgan Kaufmann Publishers.
- Zaki M. J. and Meira J. Jr. Data Mining and Machine Learning: Fundamental Concepts and Algorithms, 2nd edition, Cambridge University Press, 2020.
- Aggarwal C. C. Data Mining: The Textbook, Springer, 2015
- Insight into Data mining: Theory and Practice, Soman K. P., Diwakar Shyam, Ajay V., PHI 2006