ADS
Basic & Light Reading
- Unlocking Algorithms. Cormen
- First Course in Algorithms Through Puzzles. Uehara
Python
- Data Structures and Algorithms in Python. Lafore
- Fundamentals of Python Data Structures. (2nd ed). Kenneth Lambert
- Competitive Programming in Python. Duerr
C
- Algorithms and Data Structures - an Approach in C.
- Programs and Data Structures in C. Ammeraal
- Foundations of Computer Science. Ullman
C++
- Data Structures and Algorithm Analysis in C++. Weiss
- Data Structures and Problem Solving using C++. Weiss
- Principles of Algorithmic Problem Solving. Sannemo
- Problem Solving in Data Structures & Algorithms Using C++. Hemant Jain
Java
- Fundamentals of OOP and Data Structures in Java. Wiener
Advanced
- How to Think About Algorithms. Jeff Edmonds
- Basic Toolbox. Melhorn
- Algorithms. Erickson
Discrete Math and Graph Theory
- Mathematical Structures for Computer Science. Judith Gersting
- 3: Recurrence Relations & Analysis of Algorithms
- 5: Graphs & Trees
- 7: Graph Algorithms
- Discrete Mathematics. Rosen 3: Algorithms 5: Induction & Recursion 8: Advanced Counting: recurrence relations 10: Graphs 11: Trees
- Discrete & Combinatorial Mathematics
- 4: Mathematical Induction
- 5.7, 5.8: Analysis of Algorithms
- 10: Recurrence Relations
- 11, 12, 13: Graph Theory
- Diskrete Mathematik fuer Einsteiger. Beutelspacher
- Discrete Mathematics in Computer Science. Golovnev, Kulikov
- Concrete Mathematics. Knuth
Graph Specific
- Graph Theory - A Problem Oriented Approach. Daniel Marcus
- Algorithmic Graph Theory. Alan Gibbons