Randomized Algorithms
MIT OpenCourseWare graduate course on how randomization improves algorithm design. Covers randomized computation, hash tables and skip lists, graph algorithms including minimum spanning trees, shortest paths and minimum cuts, geometric algorithms such as convex hulls and linear programming, approximate counting, parallel and online algorithms, derandomization techniques, and probabilistic analysis tools. Materials include lecture notes, problem sets, and exams drawn from the MIT course, freely downloadable under a Creative Commons license. No video lectures are included, but the written materials cover the full syllabus in depth, aimed at students who already have a solid grounding in algorithms and discrete probability. It suits anyone who wants a rigorous, self-study treatment of randomized methods rather than an introductory survey.