Fall 2026: Design and Analysis of Algorithms

From MKWiki
Revision as of 22:51, 7 September 2026 by Mkwiki (talk | contribs) (→‎Labs)
Jump to navigation Jump to search

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

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

1) Write a program to sort the elements of an array using Insertion Sort (The program should report the number of comparisons). 2) Write a program to sort the elements of an array using Merge Sort (The program should report the number of comparisons). 3) Write a program to sort the elements of an array using Heap Sort (The program should report the number of comparisons). 4) Write a program to sort the elements of an array using Quick Sort (The program should report the number of comparisons). 5) Write a program to multiply two matrices using the Strassen’s algorithm for matrix multiplication. 6) Write a program to sort the elements of an array using Count Sort. 7) Display the data stored in a given graph using the Breadth-First Search algorithm. 8) Display the data stored in a given graph using the Depth-First Search algorithm. 9) Write a program to determine a minimum spanning tree of a graph using the Prim’s algorithm. 10) 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. 11) 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:

  1. Han J., Kamber M. and Pei J. Data Mining: Concepts and Techniques, 3rd edition, 2011, Morgan Kaufmann Publishers.
  2. Zaki M. J. and Meira J. Jr. Data Mining and Machine Learning: Fundamental Concepts and Algorithms, 2nd edition, Cambridge University Press, 2020.
  3. Aggarwal C. C. Data Mining: The Textbook, Springer, 2015
  4. Insight into Data mining: Theory and Practice, Soman K. P., Diwakar Shyam, Ajay V., PHI 2006