CS3500C Theory I - Lectures

Spring 2003

[Syllabus] [Homework]


 
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