Design and Analysis of Algorithms (CSC325) — Notes, Syllabus & Past Questions

Advanced strategies for algorithm design like greedy, dynamic programming, and complexity.

Core Course8 Chapters
Chapter 1Past Questions

Foundation of Algorithm Analysis

Algorithm properties, RAM model, time and space complexity, aggregate analysis, Big-O, Big-Ω, Big-Θ notations, recursive algorithms, and Master's Theorem.

View Questions
Chapter 2Past Questions

Iterative Algorithms

GCD, Fibonacci, sequential search analysis, and comparison sort algorithms (Bubble, Selection, Insertion).

View Questions
Chapter 3Past Questions

Divide and Conquer Algorithms

Binary search, Min-Max finding, Merge sort, Quick sort, Heap sort, and Order statistics.

View Questions
Chapter 4Past Questions

Greedy Algorithms

Fractional knapsack, Job sequencing with deadlines, Kruskal's, Prim's, and Dijkstra's algorithms, Huffman coding.

View Questions
Chapter 5Past Questions

Dynamic Programming

Matrix chain multiplication, string editing, 0/1 knapsack, Floyd-Warshall, TSP, and memoization.

View Questions
Chapter 6Past Questions

Backtracking

Subset-sum problem, 0/1 knapsack via backtracking, and N-Queen problem.

View Questions
Chapter 7Past Questions

Number Theoretic Algorithms

Euclid's & Extended Euclid's algorithms, modular linear equations, Chinese Remainder Theorem, Miller-Rabin primality test.

View Questions
Chapter 8Past Questions

NP Completeness

P, NP, NP-Hard, NP-Complete, Cook's Theorem, proofs of NP-Completeness (CNF-SAT, Vertex Cover, Subset Sum), and approximation algorithms.

View Questions