22C:153 DESIGN AND ANALYSIS OF ALGORITHMS
Classes: 118 MLH, Tu-TH 9:30 am - 10:45 am
Professor: Dr. Suely
Oliveira email: oliveira@cs.uiowa.edu
Office: MLH 101H - phone: 335-0731 - office hours:
Tu-TH 1:00 pm-2:00 pm
TA: Jeevan Kodali -- email: jkodali@cs.uiowa.edu
Office: MLH 101 L- phone: 335-2543 - office hours:
MWF 12:30 pm-1:30 pm
Syllabus
(postscript) Syllabus
(pdf)
Main Topics & Handouts (mores links will be added
during the semester)
Undergraduate Review: Mathematical Foundations (1 week)
(Ch. 3, Ch. 4)
Handout:
Growth of Functions
Handout:
Asymtotic Analysis (ps)(pdf)
Handout: Recurrences
(ps) (pdf)
Sorting Algorithms, Probabilistic Analysis and
Introduction to Randomized Algorithms (2 weeks)
( Ch. 2, 5.1, 5.2, Ch. 7.1,7.3,7.4, 8.1, 8.2)
Insertion,mergesort, quicksort, lower bounds for sorting.
The hiring problem and quicksort analysis.
Handout:
Insertion
Handout:
Comparison based sorting (ps) (pdf)
Handout:
Quicksort simulation
Advanced Design and Analysis Techniques (Chapters 16, 17,
and 18) (4 weeks)
Divide and Conquer Algorithms, Dynamic Programming
Greedy Algorithms, and Amortized Analysis.
Graph Algorithms (Chapters 23, 24, 25, and 26). (4
weeks)
DFS and applications (strongly connected components), Shortest paths
algorithms
(Dijkstra's and Bellman-Ford algorithms). All-Pairs Shortest Paths
algorihtms.
Flow Networks, Ford-Fulkerson Method, Maximum Bipartite Matching.
Handout:
Shortest Paths (ps)
(pdf)
Handout:
All-Pairs Shortest Paths (ps) (pdf)
NP-Completeness and Approximation Algorithm (Chapters 36
and 37) (5 weeks)
NP-Completeness reducibility, NP-completeness proofs, Satisfiability
problem,
3-CNF-SAT, CLIQUE, HAM-CYCLE, TSP and vertex-cover problem.
Handout: NP-Completeness part I (given in class)
Handout: NP-Completeness part II (given in class)
Handout: NP-Completeness part III (given in class)
Other Topics
Seleted topics from part VII in the book.
HOMEWORK AND PROGRAMMING ASSIGNMENTS (group work)
Homework1--> (postscript)(pdf)
(on undergraduate review)
Homework2--> 15.2-1, 15.2-3, 15.3-1, 15.3-3, 15.5-1, 15.5-2,
15-2
Homework3--> 22.4-1 (pg 551), 22.5-1, 22.5-2, 22.5-3 (pg. 557),
more over email.
Homework4--> 25.1-6, 25.2-1, more will be given in class
Homework5--> 34.2-3 (pg 983) and 34.5-2 (pg 1017)
Homework6 --> projects on NP-completeness and approximation algorithms.
(Any other homeworks are not to be turned in or graded)
QUIZZES DATES (individual work, quiz 1 and 2 are open book)
Quiz 1 --> (on undergraduate review, dynamic programming
and greedy algorithms)
Quiz 2 --> (on graph algorithms)
FINAL EXAM DATE (individual work, closed book)
Final Exam Date:
grades
(please contact me if you find any mistakes)
How to
Submit your programs electronically
A Software you can use for graphs, etc MATLAB
I need to hear from anyone who has a disability which may require some
modification of seating, testing or other class requirements so that appropriate
arrangements may be made. Please see me after class or during my office
hours