Java-first · Beginner to expert

Data Structures & Algorithms

The complete curriculum, from first principles to specialist algorithms. Algorithm lessons let you edit the input and watch every step run: pointers move, values swap and the matching Java line lights up.

12

Teaching parts

73

Chapters

538

Lessons

2764

Topics

Published293 / 538 lessons · 1625 / 2764 topics

Part I

Foundations, Programming and Algorithmic Thinking

Beginner

Part II

Linear Data Structures and Core Collections

Beginner / Intermediate

Part III

Searching, Sorting and Selection

Beginner / Intermediate

Part IV

Fundamental Algorithm Design Paradigms

Intermediate

Part V

Trees, Priority Structures and Range Queries

Intermediate / Advanced

Part VI

Graph Algorithms and Tree-Graph Techniques

Intermediate / Advanced

Part VII

Dynamic Programming: Comprehensive Problem Families

Intermediate / Advanced

Part VIII

String Algorithms and Text Indexing

Advanced / Expert

Part IX

Number Theory, Combinatorics and Algebra

Intermediate / Expert

Part X

Computational Geometry and Advanced Algorithms

Advanced / Expert

Part XI

Advanced Data Structures and Offline Techniques

Advanced / Expert

Part XII

Algorithm Engineering, Java Practice and Tutorial Publishing

Beginner to Expert

Reference

Appendices

Reference