A rescued public library · 901 legally free books

FreeTechBooks.org

Curated collection

Algorithms and data structures

Free textbooks and course notes on algorithms, data structures, complexity and the ideas that make programs fast and predictable.

13 books in this path

Algorithms are where computer science becomes a discipline rather than a collection of languages. This collection brings together free textbooks and course notes on sorting, searching, graphs, dynamic programming, complexity analysis and the data structures that support them.

Some books are rigorous and proof-heavy; others are practical and code-first. If you are preparing for interviews, pair a general algorithms text with a book that focuses on implementation. If you are following a course, start with the text that matches its syllabus.

The catalog does not rank books by difficulty. Read the description and the publication year, then choose the one that fits your background.

  1. 01

    Notes for the Course of Algorithms

    David Mount

    1998

    Deal with how to design good algorithms, which is about the mathematical theory behind the design of good programs.

  2. 02

    Data Structures and Algorithms with Object-Oriented Design Patterns in C++

    Bruno R. Preiss

    1998 · 688 pp.

    Promotes object-oriented design using C++ and illustrates the use of the emerging object-oriented design patterns.

  3. 03

    Matters Computational: Ideas, Algorithms, Source Code (formerly: Algorithms for Programmers)

    Jörg Arndt

    2010 · 978 pp.

    Selected algorithms for programmers who are interested in the treated algorithms and actually want to create a working and reasonably optimized code.

  4. 04

    Data Structures & Algorithm Analysis in C++ (Edition 3.2.0.10)

    Clifford A. Shaffer

    2013 · 615 pp.

    This book provides a thorough and comprehensive treatment of fundamental data structures and the principles of algorithm analysis. Focuses on the principles required to select or design the data structure…

  5. 05

    Algorithms

    S. Dasgupta

    2006 · 318 pp.

    Contains carefully selected and clustered algorithm topics. No attempt was made to be encyclopedic, so that this book can include topics traditionally de-emphasized or omitted from most Algorithms books.

  6. 06

    Design and Analysis of Algorithms: Course Notes

    Samir Khuller

    2003

    These notes teach the techniques for the design and analysis of algorithms and data structures. It also study efficient algorithms from areas such as graph theory, networks, scheduling etc.

  7. 07

    Data Structures and Algorithms with Object-Oriented Design Patterns in C#

    Bruno R. Preiss

    2001

    Promotes object-oriented design using C# and to illustrate the use of the emerging object-oriented design patterns.

  8. 08

    Data Structures and Algorithms With Object-Oriented Design Patterns in Java

    Bruno R. Preiss

    1999 · 656 pp.

    Covers the fundamentals of data structures and algorithms -- the basic elements from which large and complex software artifacts are built -- using Java programming language.

  9. 09

    Problems on Algorithms

    William Gasarch

    2002 · 268 pp.

    A collection of problems on the design, analysis, and verification of algorithms for use by practicing programmers who wish to hone and expand their skills.

  10. 10

    Design and Analysis of Computer Algorithms

    David Mount

    2003

    Focuses on how to design good algorithms, and how to analyze their efficiency.

  11. 11

    Notes for the Course of Data Structures

    David Mount

    2001

    Focus on the representation and algorithms, the concrete issues of implementation of data structures. Provide the students with the tools needed to design and implement their own data structures.

  12. 12

    Problem Solving with Algorithms and Data Structures using Python

    Bradley N. Miller

    2013 · 240 pp. · CC BY-NC

    This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum.

  13. 13

    Art of Programming Contest – C Programming, Data Structures, and Algorithms, 2nd Edition

    ACM Valladolid Online Judge Algorithmic Team

    2006 · 247 pp.

    A textbook for an algorithm course focusing on programming as well as a programming course focusing on algorithms. The book is designed to train students to participate in competitions, especially…