This document provides an overview of key areas in algorithm theory, including recommended resources for further study. Each section includes a visual representation and a self-assessment rating system.
- Topics: Time and space complexity, amortized analysis, probabilistic analysis, and randomized algorithms.
- Resources:
- "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein (CLRS)
- "Algorithm Design" by Jon Kleinberg and Éva Tardos
- My understanding: ⭐ / 5
- Visual:
- Topics: B-trees, Fibonacci heaps, van Emde Boas trees, and dynamic data structures.
- Resources:
- "Data Structures and Network Algorithms" by Robert E. Tarjan
- MIT OpenCourseWare: Advanced Data Structures
- My understanding: ⭐ / 5
- Visual:
- Topics: Strongly connected components, network flow, matching in graphs, and planar graphs.
- Resources:
- "Algorithms" by Robert Sedgewick and Kevin Wayne
- Coursera: Algorithms Specialization by Stanford University
- My understanding: ⭐⭐ / 5
- Visual:
- Topics: Convex hulls, Voronoi diagrams, Delaunay triangulation, and range searching.
- Resources:
- "Computational Geometry: Algorithms and Applications" by Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars
- Khan Academy: Computational Geometry
- My understanding: ⭐ / 5
- Visual:
- Topics: Monte Carlo methods, Las Vegas algorithms, and probabilistic analysis.
- Resources:
- "Randomized Algorithms" by Rajeev Motwani and Prabhakar Raghavan
- MIT's Randomized Algorithms course
- My understanding: ⭐ / 5
- Visual:
- Topics: Approximation schemes, greedy algorithms, and linear programming relaxation.
- Resources:
- "Approximation Algorithms" by Vijay V. Vazirani
- UC Berkeley: Approximation Algorithms
- My understanding: ⭐⭐⭐ / 5
- Visual:
- Topics: P vs NP problem, NP-completeness, and complexity classes.
- Resources:
- "Computational Complexity: A Modern Approach" by Sanjeev Arora and Boaz Barak
- Stanford University: CS254: Computational Complexity
- My understanding: ⭐ / 5
- Visual:
- Topics: Parallel sorting, parallel graph algorithms, and distributed computing models.
- Resources:
- "Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes" by F. Thomson Leighton
- MIT's Distributed Algorithms course
- My understanding: ⭐ / 5
- Visual:
- Topics: Nash equilibria, auction algorithms, and mechanism design.
- Resources:
- "Algorithmic Game Theory" by Noam Nisan, Tim Roughgarden, Éva Tardos, and Vijay V. Vazirani
- Coursera: Game Theory
- My understanding: ⭐⭐⭐ / 5
- Visual:
- Topics: Quantum computing basics, Shor's algorithm, and Grover's algorithm.
- Resources:
- "Quantum Computation and Quantum Information" by Michael A. Nielsen and Isaac L. Chuang
- MIT OpenCourseWare: Quantum Computation
- My understanding: / 5
- Visual: