Meetings  

Click on the theme item for the meeting plan for that theme.
Click on the meeting item for references, exercises, and additional reading related to it.

  • Theme 1 : The Algorithmists Hat - 11 meetings
  • Theme 2 : Divide & Conquer Technique - 12 meetings
  • Theme 3 : Greedy Technique & Data Structures - 23 meetings

    • Meeting 24 : Wed, Sep 10, 09:00 am-09:50 am
    • Greedy strategies for optimization problems. Interval scheduling problem. Five heuristic greedy strategies. Counter examples for claim of optimality for four of them. The need of a formal proof for the "earliest finishing task first" strategy.

    • Meeting 25 : Thu, Sep 11, 12:00 pm-12:50 pm
    • Correctness proof details - Greedy stays ahead. Discussion on implementation.

    • Meeting 26 : Mon, Sep 15, 11:00 am-11:50 am
    • Single source shortest path. Greedy stays ahead. Dijkstra's algorithm. Greedy stays ahead strategy - the loop invariant.

    • Meeting 27 : Tue, Sep 16, 10:00 am-10:50 am
    • Analysis of Dijkstra's Algorithm using improved implementations. Implementation of priority queue, the required operations. Simple implementations. Cost analysis.

    • Meeting 28 : Wed, Sep 17, 09:00 am-09:50 am
    • Heaps. Almost full binary trees with heap property. Array representation. Heapify procedure. Analysis of Heapify procedure.

    • Meeting 29 : Thu, Sep 18, 12:00 pm-12:50 pm
    • Tutorial 2 (Based on problem sheets 3 and 4)

    • Meeting 30 : Mon, Sep 22, 11:00 am-11:50 am
    • Implemetation Details of Maxheaps - Analysis of Buildheap, Extract-min, Decrease Key. Motivation to do better on Decrease key operation.

    • Meeting 31 : Tue, Sep 23, 10:00 am-10:50 am
    • Strategy to do better implementation for decrease-key operations. Introduction to amortization. Example of bit increments in a binary counter. Stack with Multipop example.

    • Meeting 32 : Wed, Sep 24, 09:00 am-09:50 am
    • Accounting Method of amortized analysis. Applying to the binary counter, and the multistack example.

    • Meeting 33 : Sat, Sep 27, 09:00 am-10:15 am
    • Potential Method for amortized analysis. Applying for the binary counter, multistack, array doubling and the binary heap example.

    • Meeting 34 : Mon, Sep 29, 11:00 am-11:50 am
    • Fibonacci Heaps - Basic ideas, examples. Insert and Union. Implementation Details.

    • Meeting 35 : Tue, Sep 30, 10:00 am-10:50 am
    • Fibonacci Heaps - Extract min. Potential function. Analysis of extract min.

    • Meeting 36 : Wed, Oct 01, 09:00 am-09:50 am
    • Fibonacci Heaps - Decrease Key. Analysis of Decrease Key.

    • Meeting 37 : Mon, Oct 06, 11:00 am-11:50 am
    • Proof of degree bounds in Fib heaps.
      Minimal Spanning Tree Problem. Problem definition and discussion.

    • Meeting 38 : Tue, Oct 07, 10:00 am-10:50 am
    • Is the MST unique? Glimpse of an "exchange argument" to prove that if all edge weights are distinct, then MST must be unique.
      Approaches towards MST problem. The idea of growing and MST from scratch. Safe edges to add. When is an edge safe to add?

    • Meeting 39 : Wed, Oct 08, 09:00 am-09:50 am
    • Lightest cut edges are always safe. All safe edges must be a part of any MST. Exchange argument in action.
      So we can add all safe edges and recurse - Boruvka's Algorithm. Different ways of moving towards MST. Kruskal's Algorithm and Prim's Algorithm.

    • Meeting 40 : Thu, Oct 09, 12:00 pm-12:50 pm
    • Tutorial 3

    • Meeting 41 : Mon, Oct 13, 11:00 am-11:50 am
    • Spectrum of MST Algorithms via the cut property and the cycle property. Implementing Prim's Algorithm. Using Binary heaps and then Fib heaps.

    • Meeting 42 : Tue, Oct 14, 10:00 am-10:50 am
    • Implemeting Kruskal's Algorithm. Union-Find Data structure. Array implementation. Amortized analysis. MAKESET in O(1), FIND in O(1), UNION in O(log k) amortized over k unions.

    • Meeting 43 : Wed, Oct 15, 09:00 am-09:50 am
    • Union by rank implementation. Rank based analysis. MAKESET in O(1), UNION in O(1), FIND in O(log n) worst case analysis.

    • Meeting 44 : Thu, Oct 16, 12:00 pm-12:50 pm
    • Union by rank and path compression. Implementation of path compression. Examples. Properties being preserved.

    • Meeting 45 : Tue, Oct 21, 10:00 am-10:50 am
    • Analysis to prove that MAKESET in O(1), UNION in O(1), FIND in O(log* n) amortized cost. Pocket money argument based on the rank interval.

    • Meeting 46 : Wed, Oct 22, 09:00 am-09:50 am
    • Huffman coding problem. The greedy algorithm. Greedy-choice correctness property via an exchange argument. Optimal substructure property.

  • Theme 4 : Dynamic Programming Techniques - 4 meetings
  • Theme 5 : Iterative Improvement Technique - 5 meetings
  • Theme 6 : Intractability - 4 meetings
  • Theme 7 : Evaluation Meetings - 2 meetings