Spring 2003
Topics |
Date(s) |
Reading |
Introduction: Problems and Algorithm Design Paradigms First Problem: Sorting. Algorithms: Bubblesort, Mergesort Paradigm: Divide and Conquer Review of Basic Math: Reccurences, some series, "o" and "omega" notations. |
Week of Jan. 6 |
CLRS Chapters 1-2 (CLR Chapters 1-2) CLRS Chapters 3-4 (CLR Chapters 3-4) |
Algorithm: Heapsort. Design Paradigm: Data Structures Algorithm: Quicksort. Design Paradigm: Randomization, finding good "splitters". |
Week of Jan. 13 |
CLRS Chapter 6 (CLR Chapter 7) CLRS Chapter 7 (CLR Chapter 8) |
Sorting in Linear Time
|
Week of Jan. 20 (Martin Luther King's Holiday) |
CLRS Chapter 8 (CLR Chapter 9)
|
Strassen's Multiplication A brilliant example of Divide and Conquer Median Finding Another brilliant example of Divide and Conquer |
Week of Jan. 27 |
CLRS 28.2
(Aho,Hopcroft,Ullman pp 62-63) CLRS Chapter 9 |
Design Paradigm: Dynamic Programming Problem: Chain matrix Multiplication Design Paradigm: Compression Example: Huffman Codes Depth First Search and the amazing power of Recursion Undirected Graphs: Connectivity and Biconnectivity |
Monday Feb. 3 (1st hour) Monday Feb. 3 (2nd hour) Wed. Feb 5 |
CLRS 15.2 and 15.3 CLRS 16.3 Lecture Notes |
Depth First Search in Directed Graphs Strong Connectivity, Topological Sorting QUIZ 1 |
Monday Feb. 10 Wed. Feb 12 |
CLRS 22.3, 22.4, 22.5 ----------- |
Min Cost Spanning Tree O(|E|log|E|) implementation, using Binomial Trees Dijkstra's Shortest Path and the structure of shortest paths |
Monday Feb. 17 Wed. Feb 19 |
CLRS Chapter 23 (without Prim's implementation) CLRS Chapter 19 fot Binomial Heaps CLRS Chapter 24 (Intro, 24.2, 24.3) |
All Pairs Shortest Paths Fundamental Graph Algorithms and Paradigms of Dynamic Programming |
Week of Feb. 24 |
CLRS Chapter 25.1 and 25.2 |
------ |
SPRING BREAK |
------ |
Ford-Fulkerson Max-Flow Min-Cut Theorem Paradigm: Duality Edmonds-Karp Max-Flow Algorithm |
Week of March 10 |
CLRS Chapter 26 |
LANGUAGES as abstract expressions of "problems" Operations on Languages, Regular Expressions DFAs, NFAs as primitive "computational models" Regular Expressions as primitive "languages" |
Week of March 17 |
Sipser, Chapter 1 |
QUIZ 2 |
Monday March 24 |
------- |
Equivalence of DFAs, NFAs and Regular Expressions Non-regular languages, Pumping Lemma |
Wed March 26 |
Sipser, Chapter 1, completed |
Context Free Grammars Push Dows Automata |
Monday March 31 |
Sipser, Chapter 2 |
Equivalence of CFGs anfd PDAs Non-context-free languages, Pumping Lemma |
Wed April 2 |
Sipser, Chapter 2, completed |
Countable and Uncountable Cardinalities Diagonalization |
Monday April 7 |
Sipser, Chapter 4 |
Turing Machines Church-Turing Thesis Undecidability of the Halting Problem |
Wed April 9 |
Sipser, Chapter 3, completed Sipser, Chapter 4, completed |
Reducibility |
Monday April 14 |
Sipser, Chapter 5, completed |