Section 1 of MCS-216 covers the algorithm labs. Every session states the problem exactly as the lab manual does, walks through the logic, then gives a working program in Python, C and Rust.
Sessions
| Session | Topic |
|---|---|
| 1 | Polynomial evaluation, GCD, power, sorting basics |
| 2 | Fractional knapsack (greedy) |
| 3 | Task scheduling with and without deadlines (greedy) |
| 4 | Sorting and selection (divide and conquer) |
| 5 | Search and merge (divide and conquer) |
| 6 | Dijkstra’s shortest path |
| 7 | Minimum spanning tree |
| 8 | Binomial coefficient (divide and conquer vs dynamic programming) |
| 9 | Floyd–Warshall all-pairs shortest path |
| 10 | Matrix chain multiplication |
| 11 | Optimal binary search tree and Huffman coding |
How to use a session
- Read the problem statement and solve it on paper first.
- Compare your approach with the explanation.
- Run the program in the language your lab uses (C is the IGNOU default), then read the other two to see the same idea in a different style.
- Copy only what the lab record asks for. Blocks marked for the notebook are the ones examiners expect.