Skip to main content
BookadvancedPaid

Algorithms (Jeff Erickson, free textbook)

by Jeff Erickson

Open-access UIUC textbook on recursion, backtracking, dynamic programming, greedy algorithms, graphs, maximum flow and NP-hardness, with hundreds of exercises. Emphasis falls on how a solution is discovered and proved correct, so you can design and justify unfamiliar algorithms.

Visit resource

This link may earn us a small commission at no extra cost to you. Affiliate disclosure

More resources on Data Structures & Algorithms

CourseFree

Algorithms, Part I

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.

CourseFree

Algorithms, Part II

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.

WebsiteFree

cp-algorithms.com

Open-source translation of the Russian e-maxx algorithm compendium, with articles on number theory, combinatorics, graph algorithms, string processing, and geometry. Each entry pairs a derivation with tested C++ code you can adapt for contest problems.

WebsiteFree

LeetCode

Online judge with thousands of algorithm and data-structure problems sorted by difficulty, topic and company, plus timed contests, discussion threads and study plans. Regular practice builds fluency with common interview problem patterns and writing correct, efficient code under time pressure.

WebsiteFree

takeUforward

Striver's SDE Sheet, a curated list of roughly 190 coding-interview problems grouped by topic, from arrays and linked lists to graphs and dynamic programming, with linked video and written solutions. Gives a structured practice plan for technical interview preparation.

CourseFree

Introduction to Algorithms (MIT 6.006)

Modeling computational problems and solving them with core algorithms and data structures: sorting, hashing, binary trees, heaps, graph search, shortest paths and dynamic programming. 32 lecture videos, notes, problem sets and exams with solutions teach asymptotic analysis and algorithm design.

See all Data Structures & Algorithms resources →