Difference between revisions of "Fall 2026: Design and Analysis of Algorithms"

From MKWiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Logistics ==
 
== Logistics ==
 
*Class Timings: '''Mondays''', '''Tuesdays''', and '''Thursdays''' 9:30 am - 10:30 am  
 
*Class Timings: '''Mondays''', '''Tuesdays''', and '''Thursdays''' 9:30 am - 10:30 am  
*Classroom: ('''R-43''')
+
*Classroom: (''R-43'')
 
*Lab Timings: '''Fridays''' 8:30 am - 10:30 am
 
*Lab Timings: '''Fridays''' 8:30 am - 10:30 am
 
*Labs: Computer Lab 4 (''CL-3'')
 
*Labs: Computer Lab 4 (''CL-3'')
Line 54: Line 54:
 
* Turn off'''(shut down) your assigned computer and arrange the chair''' before you leave the lab.
 
* Turn off'''(shut down) your assigned computer and arrange the chair''' before you leave the lab.
  
=== '''Lab 0 '''===
+
=== '''Practicals LIst '''===
{| class="wikitable" style="text-align: justify;  
+
# 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).
! Task No.
+
# Write a program to sort the elements of an array using Heap Sort (The program should report the number of comparisons).
! Task  
+
# Write a program to sort the elements of an array using Quick Sort (The program should report the number of comparisons).
! Assessment Period.
+
#  Write a program to multiply two matrices using the Strassen’s algorithm for matrix multiplication.
! Submission Deadline
+
#  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.
| style="width: 8%" | 1
+
#  Display the data stored in a given graph using the Depth-First Search algorithm.
| style="width: 60%" | Implement Linear Search Algorithm
+
#  Write a program to determine a minimum spanning tree of a graph using the Prim’s algorithm.
| style="width: 15%" |  --
+
#  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.
|-
 
| 2 || Implement Binary Search Algorithm || -- || --
 
|}
 
 
 
=== '''Lab 1: ''' ( week of 17<sup>th</sup> August 2026  ) ===
 
{| class="wikitable" style="text-align: justify; 
 
|-
 
! Task No.
 
! Task  
 
! Assessment Period. 
 
! Submission Deadline
 
|-
 
| style="width: 8%"  style="text-align: center;  | 1
 
| style="width: 60%" | Write a program to sort the elements of an array using Insertion Sort (The program should report the number of comparisons).
 
| style="width: 15%" | 17/08/2026 - 24/08/2026
 
| 25/08/2026
 
|}
 
  
 
== Resources ==
 
== Resources ==
 
'''References:'''
 
'''References:'''
* '''Text Book''': Tan P.N., Steinbach M, Karpatne A. and Kumar V. Introduction to Data Mining, Second edition, Sixth Impression, Pearson, 2023.
+
* '''R1''': Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th edition, Prentice Hall of India, 2022.
 
+
* '''R2''': Kleinberg, J., Tardos, E. Algorithm Design, 1st edition, Pearson, 2013.
'''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
 

Latest revision as of 22:55, 7 September 2026

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:

  • R1: Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th edition, Prentice Hall of India, 2022.
  • R2: Kleinberg, J., Tardos, E. Algorithm Design, 1st edition, Pearson, 2013.