Difference between revisions of "Fall 2026: Design and Analysis of Algorithms"
Jump to navigation
Jump to search
| (11 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: | + | *Classroom: (''R-43'') |
| − | *Lab Timings: ''' | + | *Lab Timings: '''Fridays''' 8:30 am - 10:30 am |
| − | *Labs: Computer Lab 4 (''CL- | + | *Labs: Computer Lab 4 (''CL-3'') |
== Course Overview == | == Course Overview == | ||
| Line 17: | Line 17: | ||
|- | |- | ||
| style="width: 12%; " | Unit-1 | | style="width: 12%; " | Unit-1 | ||
| − | | style="width: 60%" | ''''' | + | | style="width: 60%" | '''''Searching, Sorting, Selection, Divide and Conquer:''''' |
| style="width: 15%" | [unit1.pdf] | | style="width: 15%" | [unit1.pdf] | ||
| − | | Chapter | + | | Chapter 2,4,6,7,8,9 (R1) |
|- | |- | ||
| Unit 2 | | Unit 2 | ||
| − | | ''''' | + | | '''''Graphs and Greedy algorithms:''''' |
| [unit2.pdf] | | [unit2.pdf] | ||
| − | | Chapter | + | | Chapter 3, 4 (R2) & 15(R1) |
|- | |- | ||
| Unit 3 | | Unit 3 | ||
| − | | ''''' | + | | '''''Dynamic Programming:''''' |
| [unit3.pdf] | | [unit3.pdf] | ||
| − | | Chapter | + | | Chapter 6 (R2) |
|- | |- | ||
| Unit 4 | | Unit 4 | ||
| − | | ''''' | + | | '''''Hash Functions, Collision resolution schemes:''''' |
| [unit4.pdf] | | [unit4.pdf] | ||
| − | | Chapter | + | | Chapter 11 (R1) |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|} | |} | ||
| Line 59: | 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. | ||
| − | === ''' | + | === '''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 == | == Resources == | ||
'''References:''' | '''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. | |
| − | ''' | ||
| − | |||
| − | |||
| − | |||
| − | |||
Latest revision as of 22:55, 7 September 2026
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:
- 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.