- Meeting 26 : Mon, Mar 17, 11:00 am-11:50 am
References | |
Exercises | |
Reading | |
Optimization problems. Overview of greedy strategy. Interval Scheduling Problem. Greedy Strategies. Failures and counter examples. A working strategy.
References | : | Chapter 4 and section 4.1 of [KT]
|
- Meeting 27 : Tue, Mar 18, 10:00 pm-10:50 pm
References | |
Exercises | |
Reading | |
Proof of correctness of Greedy strategy for interval scheduling problem."Greedy Stays Ahead" technique. Variants of interval scheduling problem. Another example. The single source shortest paths problem. Examples.
References | : | Section 4.4 of [KT]
|
- Meeting 28 : Wed, Mar 19, 09:00 am-09:50 am
References | |
Exercises | |
Reading | |
The single source shortest paths problem with positive edge weights. Greedy strategy. Example runs. Dijskstra's Algorithm. Correctness proof using "greedy stays ahead" technique. Implementation using priority queue.
References | : | Section 4.4 of [KT]
|
- Meeting 29 : Mon, Mar 24, 11:00 am-11:50 am
References | |
Exercises | |
Reading | |
Minimal Spanning Tree Problem. Three greedy strategies. (Kruskal's algorithm, Prim's algorithm, Reverse-delete algorithm). How do we prove correctness? Examples. A generic greedy algorithm using safe edges. Invariant.
References | : | Section 4.5 of [KT] and Section 21.1 of CLRS
|
- Meeting 30 : Tue, Mar 25, 10:00 pm-10:50 pm
References | |
Exercises | |
Reading | |
How do we identify safe edges? The "cut property". Proof of the cut property. Cycle property.
References | : | Section 4.5 of [KT] and Section 21.1 of CLRS
|
- Meeting 31 : Wed, Mar 26, 09:00 am-09:50 am
References | |
Exercises | |
Reading | |
Proof of correcteness of Kruskal's Algrithm and Prim's Algorithm using Cut property. Proof of correctness of Reverse delete algorithm using the cycle property. Family of greedy algorithms for MST.
References | : | Section 4.5 of [KT] and Section 21.1 of CLRS
|
- Meeting 32 : Thu, Mar 27, 01:00 pm-01:50 pm
References | |
Exercises | |
Reading | |
(Compensatory Lecture for Feb 25) Implementing Prim's Algorithm. 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.
References | : | Section 4.6 of [KT]
|
- Meeting 33 : Tue, Apr 01, 08:00 am-08:50 am
References | |
Exercises | |
Reading | |
Union by rank implementation. Rank based analysis. MAKESET in O(1), UNION in O(1), FIND in O(log n) worst case analysis.
References | : | Section 5.1.4 (Page 144) of [DPV]
|
- Meeting 34 : Wed, Apr 02, 09:00 am-09:50 am
References | |
Exercises | |
Reading | |
Union by rank and path compression. Analysis to prove that MAKESET in O(1), UNION in O(1), FIND in O(log* n) amortized cost.
References | : | Section 5.1.4 (Page 144) of [DPV]
|
- Meeting 35 : Thu, Apr 03, 01:00 pm-01:50 pm
References | |
Exercises | |
Reading | |
Implementing Prim's Algorithm. Priority queues. Mention Fibanocci heaps and bounds that can be obtained using an amortized analysis.