About
These are the collaboratively-constructed class notes for UCSD's CSE 202: Graduate Algorithms, taught in winter 2014 by Russell Impagliazzo. The idea is that the students together can create a better resource than could any one person.
Links
The class webpage is here.
The Piazza page is here.
There's a previous set of notes, compiled in the fall of 2002 by Neil Jones. These are another great resource, as the curriculum hasn't changed too much in the last decade.
Notes
- 13 Mar 2014 » Lecture 20
- 11 Mar 2014 » Lecture 19
- 06 Mar 2014 » Lecture 18
- 04 Mar 2014 » Lecture 17
- 27 Feb 2014 » Lecture 16
- 25 Feb 2014 » Lecture 15
- 20 Feb 2014 » Lecture 14
- 18 Feb 2014 » Lecture 13
- 13 Feb 2014 » Lecture 12: Tree Isomorphism and QuickSelect
- 11 Feb 2014 » Lecture 11: Polynomial multiplication
- 06 Feb 2014 » Lecture 10: Divide and conquer
- 04 Feb 2014 » Lecture 9: Approximation algorithms and divide and conquer
- 30 Jan 2014 » Lecture 8: Greedy approximations
- 28 Jan 2014 » Lecture 7: Greedy methods
- 23 Jan 2014 » Lecture 6
- 21 Jan 2014 » Lecture 5: Fibonacci Heap
- 16 Jan 2014 » Lecture 4
- 14 Jan 2014 » Lecture 3
- 09 Jan 2014 » Lecture 2
- 07 Jan 2014 » Lecture 1
Contributing
We strongly encourage / need students to contribute notes. These contributions can be as large as the entire notes for one day, or as small as a fixed typo.
To contribute, fork this project on GitHub and send me a pull request.
You'll find notes for each day in the _posts
folder.
You should be able to see your changes by pushing your own GitHub branch and going to http://<username>.github.io/CSE202
.
However, your might need to update BASE_PATH
in _config.yml
to get assests to load properly.
GitHub will run Jekyll to process the markdown, etc, and generate the site.
The other option is to install Jekyll with gem install jekyll
and test it locally with jekyll serve -w
.
For more information on GitHub's publishing tools, see here. For more on Jekyll, see the Jekyll Quick Start. For info on Jekyll Bootstrap, which was used to generate this site, see here.
Contributors
- Russell Impagliazzo
- Eric Christiansen
- Hannah Chen
- ...
Math markup
We're using MathJax to get \(\LaTeX\)-style math in the browser. This is more fun than generating a boring old PDF, right?
You render inline \(\LaTeX\) using \\(
and \\)
and block \(\LaTeX\) using \\[
and \\]
.
For example, the probability of getting \(k\) heads when flipping \(n\) coins is \(P(E) = {n \choose k} p^k (1-p)^{ n-k}\).
And here are the Lorenz Equations:
\[
\begin{aligned}
\dot{x} &= \sigma(y-x) \cr
\dot{y} &= \rho x - y - xz \cr
\dot{z} &= -\beta z + xy
\end{aligned}
\]