Study Plan
Reading List
Algorithms
- Basic:
- Understanding Algorithms. Brunskill
- Algorithms Unlocked. Cormen
- First Course in Algorithms Through Puzzles. Ryuhei Uehara
- Algorithmic Thinking. Daniel Zingaro
- Principes of Algorithmic Problem Solving. Johan Sannemo
- Grokking Algorithms. Aditya Bhargava
- Intermediate:
- Design and Analysis of Algorithms. Jeffrey Smith
- Algorithms. Jeff Erickson
- How to Think About Algorithms. Jeff Edmonds
- Problems on Algorithmics. Ian Perberry
- Fundamentals of Algorithmics. Brassard, Bratley.
- Algorithmen & Datenstrukturen - Grundwerkzeuge. Kurt Melhorn
- Lecture Notes on Algorithms. Ian Perberry
- Algorithm Design. Kleinberg, Tardos
- Algorithms Illuminated. Roughgarden
- Compared to What. G. J. E. Rawlins
- Foundations of Algorithms. Richard Neapolitan
- Data Structurese & Their Algorithms. Harry Lewis, Larry Denenberg
- Algorithms + Data Structures = Programs. Niklaus Wirth
- Algorithms and Data Structures - Design, Correctness, Analysis. Jeffrey H. Kingston
- Computer Algorithms. Baase
- C++:
- Data Structures & Problem Solving Using C++. M. A. Weiss
- Data Structures & Algorithm Analysis in C++. M. A. Weiss
- Data & Algorithms in C++. Drozdek.
- Data Structures other Objects using C++. Walter Savitch
- Principles of Algorithmic Problem Solving. Johan Sannemo
- Guide to Competitive Programming. Antti Laaksonen
- C:
- Algorithms and Data Structures - An Approach in C. Bowman
- Foundations of Computer Science. Aho, Ullman
- Programs and Datastructures in C. Ameraal
- Python:
- Data Structures and Algorithms Using Python. Rance D. Necaise.
- Data Structures & Algorithms in Python. Canning, Broder, Lafore
- Competitive Programaming with Python. Duerr, Vie
- Problem Solving with Algorithms and Data Structures Using Python. Franklin, Beedle
Graph Theory and Discrete Mathematics
- General Discrete Mathematics:
- Mathematical Structures for Computer Science. Judith Gersting
- Discrete & Combinatorial Mathematics. Grimaldi
- Concrete Mathematics Knuth
- Diskerte Mathematik fuer Einsteiger. Beutelspacher
- Discrete Mathematics in Computer Science. Golovnev, Kulikov
- Graph Theory Specific
- Graph Theory - A Poblem Oriented Approach. Daniel A. Marcus
- Algorithmic Graph Theory. Alan M. Gibbons
- Sets, Puzzles & Postmen. Higgins
Specifically:
- Gersting:
- 3: Recurrence relations & analysis of algorithms
- 5: Graphs & Trees
- 7: Graph algorithms
- Rosen:
- 3: Algorithms
- 5: Induction & Recursion
- 8: Advancerd Counting: recurrence relations
- 10: Graphs
- 11: Trees
- Grimaldi:
- 4: Mathematical induction
- 5.7, 5.8: Analysis of Algorithms
- 10: Recurrence relations
- 11, 12, 13: Graph Theory