Fundamental Algorithms Lecture Notes
G22.1170.001 Spring 2003


Lecture 1:
Introduction to Algorithmics

Choose a Format:
pdf

postscript

READING GUIDE:
 Read Section 1 (General Intro)
 Read Section 7 (Asymptotic Notations),
up to page 13 only.
 The rest can be read in order, at your leisure.
 Use the Appendix for general reference.

Lecture 2:
Recurrences

Choose a Format:
pdf

postscript

READING GUIDE:
 Skim Section 1.
 Read Sections 2, 3, 4.
 Section 5: Know the arithmetic, geometric and harmonic series.
 Section 6: Standard form, polynomialtype
and exponentialtype sum.
 Section 9.2: Know the Master Theorem and how to apply it.

Lecture 3:
Balanced Search Trees

Choose a Format:
pdf

postscript

READING GUIDE:
 Skim Sections 1, 2, 3. Be familiar with the definitions of
Dictionary and Priority Queues (p. 4).
 Read Sections 3: this section is essential, but
it is mostly a review of basic Binary Search Trees (BST).
 Read Section 4: AVL Trees. In page 12, you see \mu(h).
In our lecture on Monday, we used i instead of h, and
wrote "s(T_{i})" or "s_{i}" instead of \mu(i).
 Read Section 5: (a,b)Trees.

Lecture 4:
Pure Graph Algorithms

ERRATA

Choose a Format:
pdf

postscript

READING GUIDE:
 Read all Sections (15).

Lecture 5:
Greedy Method

Choose a Format:
pdf

postscript

READING GUIDE:
 Read Sections 1,2,5. NOTE: At the beginning
of Section 5, there is some reference to the
matroid material in Section 4. Just ignore these.

Lecture 6:
Amortization Method

Choose a Format:
pdf

postscript

READING GUIDE:
 Read Sections 14 and 9. For Section 9, you just
need to know the amortized complexity bounds
when Fibonacci heaps are used to implement
"mergeable queues" (Intro. to Section 5, p.16)

Lecture 7:
Dynamic Programming

Choose a Format:
pdf

postscript

READING GUIDE:
 Read Sections 1, 2 and 4.
We recommend reading section 3 if you can.

Lecture 8:
Randomized Algorithms:

Choose a Format:
QuickSort.pdf
and
Lecture 8 (pdf)

QuickSort.ps
and
Lecture 8 (ps)

READING GUIDE:

Read all of the notes on Quicksort. But for Lecture VIII,
you are only responsible for Section 4 (random number generator).

Lecture 9:
Hashing:

Choose a Format:
ps
and
pdf

READING GUIDE:

Read the first five sections, including universal hashing.

Lecture 10:
NP Completeness:

Choose a Format:
ps
and
pdf

READING GUIDE:

Read all. But you must understand the concept of
reduction to do some simple problems.