Algorithm Design and Analysis Lecture notes, Fall 95
These notes are in reverse order by date
Monday, Dec 18, 10:30-12:30 am
Dec 7.
-
Parallel algorithms (chapters 28, 30)
Dec 5.
-
Homework set #5 due.
-
Finish FFT
-
RSA (chapter 33)
Nov 30.
Nov 28.
-
Matrices (chapter 31), Strassen's algorithm,
-
Equivalence of mult, invert, solve linear system.
Nov 23. Thanksgiving
Nov 21.
-
Hand out HW set #5.
-
P-time reductions, the many, many problems in NPC (chapter 36)
Nov 16.
-
Homework set #4 due.
-
P, NP, NPC, NP-hard, NP completeness of CIRCUIT-SAT
Nov 14.
-
P and NP, the reduction to binary encodings
(chapter 36)
Nov 9.
-
General closure over a star semi-ring
-
Network flows (chapter 27)
Nov 7.
-
shortest path algorithms (chapter 25 and 26).
-
Single source shortest paths.
Dijkstra's, Bellman-Ford
-
All source shortest paths.
Floyd-Warshall, Transitive Closure,
Nov 2.
-
Homework set #4 assigned.
-
finish Kruskal's and Prim's algorithms for MST.
Oct 31.
-
Homework set #3 due.
-
Graph algorithms (chapter 25) Minimal spanning trees
Oct 26.
-
Graph algorithms (chapter 24)
Oct 24.
-
Graph algorithms (chapter 24)
Breadth first search, spanning trees
Oct 19.
-
Analysis of Union-Find (chapter 22).
Oct 17.
-
Union-Find (chapter 22).
Ackermann's function and lg*.
Oct 12.
-
Homework set #2 due.
-
Amortized analysis (see chapter 18 for reference)
of Fibonacci and Binomial Heaps (chapter 21).
Oct 10.
-
Fibonacci Heaps (chapter 21).
Oct 5.
-
Binomial Heaps (chapter 20).
Oct 3.
-
Finish on B-trees (chapter 19).
Sept 28.
-
finish Red-Black trees (ch 14), handed out paper copy of fixed up
red-black tree code. Corrections made during class are reflected in
~saunders/621/rbt.cc .
-
Started on B-trees (chapter 19).
-
Homework set #2 assigned .
Sept 26.
Sept 21.
Sept 19.
-
Finish showing Buildheap runs in theta(n) time.
-
Order Statistics (ch 10)
Sept 14.
Sept 12.
-
Homework set #1 assigned.
-
Quick sort analysis (ch 8)
-
Heap sort, priority queues (ch 7)
Sept 7.
-
lg(n!) = \theta(nlg(n)) because (n/2)^(n/2) <= n! <= n^n plus a detail.
-
Quick sort (ch 8)
Sept 5.
-
Function comparison using O, \Theta, \Omega (ch 2).
-
Master Theorem (ch 4.3)
-
Merge sort (is in ch 1).
-
Decision tree based lower bound for sorting by comparisons (ch 9.1).
(see also ch 2.2 for relevant mathematics)
August 31.
-
Karatsuba algorithm for integer multiplication.
-
The conventional multiplication of 2 n digit numbers can be expressed
in terms of 4 multiplications of n/2 digit numbers. The karatsuba
algorithm reduces this to 3 multiplications of n/2 digit numbers and
\Theta(n) additions and subtractions of digits, The cost in digit operations
then satisfies the recurrence T(n) = 3T(n/2) + \Theta(n), so that
T(n) = \Theta(n^{lg(3)}). Empirical data shows that the gnu mulitprecision
arithmetic library uses this method.
-
Reading: Scan chapters 1-6 (we will refer to these topics as the
occasion arises), pay closer attention to chapters 2 and 4.
saunders@cis.udel.edu