Getting Started with Competitive Programming
(an NPTEL course)
We've put together a quick-start C++ Primer (work in progress).
- Algorithms by Jeff Erickson
- Open Data Structures by Pat Morin
- Algorithms Illuminated by Tim Roughgarden
- Algorithm Design by J. Kleinberg and E. Tardos
- Problem Solving with Algorithms and Data Structures using C++ by Brad Miller, David Ranum, and Jan Pearce
- Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum
- Think Data Structures by Allen B. Downey
- Some introductory notes on Design and Analysis of Algorithms (PDF) by Venkatesh Raman
- Competitive Programming (4th Edition) by Steven Halim, Felix Halim, and Suhendry Effendy
- Competitive Programmer’s Handbook by Antti Laaksonen
Other NPTEL Courses.