CPSC 320: Intermediate Algorithm Design and Analysis
2009 Winter Term 2
Textbook
- Recommended Textbook:
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and
Clifford Stein. Introduction to Algorithms, MIT
Press. (Second or third edition are both fine.)
- Other References:
-
- Michael Goodrich and Roberto Tamassia, Algorithm Design: Foundations,
Analysis, and Internet Examples, John Wiley and Sons, 2002, ISBN: 0-471-38365-1.
- John Kleinberg and Éva Tardos, Algorithm Design, Addison-Wesley
Publishing company, 2005, ISBN 0-321-29535-8.
- Sara Baase and Allen Van Gelder, Computer Algorithms: Introduction to Design and
Analysis, Third edition, Addison-Wesley Publishing company, 2000, ISBN
0-201-61244-5.
- Donald E. Knuth, The Art of Computer Programming, Volume 1, Third edition:
Fundamental Algorithms, Addison-Wesley Publishing company, 1997, ISBN
0-201-89683-4.
- Donald E. Knuth, The Art of Computer Programming, Volume 2, Third edition:
Seminumerical Algorithms, Addison-Wesley Publishing company, 1998, ISBN
0-201-89684-2.
- Donald E. Knuth, The Art of Computer Programming, Volume 3, Second edition:
Sorting and Searching, Addison-Wesley Publishing company, 1998, ISBN
0-201-89685-0.
- Clifford A. Shaffer, A practical Introduction to Data Structures and Algorithm
Analysis, Second edition, Prentice-Hall, Inc, 2001, ISBN 0-13-028446-7
- Approximate Reading Schedule:
- Here is a rough schedule of
topics and readings subject to change, to be firmed up as the
term proceeds.
- Jan 4-8: Introduction and asymptotic notation. (Chapters 2 and 3.)
- Jan 11-15: Divide and conquer algorithms, recurrence relations.
(Chapter 4.)
- Jan 18-22: Divide-and-conquer continued
- Jan 25-29: The Selection Problem. (Chapter 9.)
- Feb 1-5: Midterm Exam #1 (Feb 2) and Selection continued.
- Feb 8-12: Greedy algorithms and graphs. (Sections 16.2, 22.1, 23,
and 24.1–3.)
- Feb 15-19: MIDTERM BREAK
- Feb 22-26: MIDTERM BREAK
- Mar 1-5: Catch-up, exercises, or new material. (Possibly
randomized algorithms/data structures, chapter TBA)
- Mar 8-12: Catch-up, exercises, or new material, and Midterm exam #2 (Mar 11).
- Mar 15-19: Dynamic Programming. (Chapter 15.)
- Mar 22-26: Amortized Analysis. (Chapter 17.)
- Mar 29-Apr 1: NP-Completeness and approximation problems.
(Chapter 34.)
- Apr 6-9: Catch-up, exercises, or new material. (Easter Monday Apr 5: no T2A.)
- Apr 12-15: Catch-up, exercises, or new material.
We urge you to purchase the recommended textbook. It is an invaluable
reference for a Computer Scientist. (I still have my beat-up old
Cormen, Leiserson, and Rivest from before Stein joined the team!)
However, many of these references will also be available at the UBC library or our very own CS
Reading Room.
cs320@cs.ubc.ca