CS 621: Algorithms and Complexity (U. of Oregon), Fall 2024
Course information:
- CRN: 11642
- Time: Mon/Wed 4pm-5:20pm
- Room: 111 Lillis Hall
Instructor:
- Name: Tao Hou
- Office: 333 Deschutes Hall
- Email: taohou at uoregon dot edu
- Office Hours: Mon/Wed 2:45pm-3:45pm
Textbook (optional)
- [CLRS] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, 3rd Edition. MIT Press, 2009.
- [K&T] Jon Kleinberg and Eva Tardos. Algorithm Design, 1st edition. Addison Wesley, 2006.
Accompanying slides are available online: https://www.cs.princeton.edu/~wayne/kleinberg-tardos/pearson
Topics and Slides:
(* An up-to-date schedule is maintained on Canvas)
(* Slides may be updated
as teaching progresses)
- 0. Run-time analysis (review)
- 1. Divide and conquer
- 2. Greedy algorithms
- 3. Dynamic programming
- 4. Elementary graph theory
- 5. Shortest path algorithms
- 6. Minimum spanning trees
- 7. NP-completeness (theory, reductions)
(* Some of the slides are adapted from those made available by Antonio Carzaniga. I also got some of the slides from my previous colleague Iyad Kanj. ---- Big thanks to them!)
Some Resources on LaTeX:
- https://www.overleaf.com: an online (free) system for preparing LaTeX documents. It saves your efforts on installing and configuring a LaTeX editing/compiling environment on your own computer.
- https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes: a short intro to LaTeX.
- https://www.overleaf.com/learn/latex/Algorithms: a short tutorial on typesetting pseudocodes using LaTeX.
- https://youtu.be/Jp0lPj2-DQA?si=7_BBZcQYRgW5TyvH: a Youtube video introducing how to use LaTeX on Overleaf.
- More resources out there by searching on Google and Youtube.
Advice on Using MS Word for Preparing HW:
Make sure your answers are typeset nicely if you are using MS Word:- For equations: use 'Insert->Equation' in Microsoft Word
- For pseudocodes: use lists (bullets, numbering) and/or appropriate indentation with ‘tab’
Additional Resources:
- I fount that Chris Wilson, who also teaches this course at UO, has an especially extensive and helpful list of resources here.