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
1
Introduction to Data Structures and Algorithms
7 lessons57 topics7/7 live
2
Java Prerequisites for DSA
9 lessons84 topics9/9 live
3
Mathematical Foundations for DSA
7 lessons55 topics7/7 live
4
Complexity, Memory and Performance Analysis
10 lessons73 topics10/10 live
5
Recursion and Divide-and-Conquer Fundamentals
7 lessons44 topics7/7 live
6
Bit Manipulation and Binary Representation
7 lessons46 topics7/7 live
7
Foundational Problem-Solving Patterns
8 lessons45 topics8/8 live
Part II
Linear Data Structures and Core Collections
8
Arrays and Dynamic Arrays
9 lessons63 topics9/9 live
9
Strings and Character Processing
8 lessons53 topics8/8 live
10
Matrices, Grids and Multidimensional Arrays
7 lessons37 topics7/7 live
11
Linked Lists
9 lessons50 topics9/9 live
12
Stacks and Stack-Based Algorithms
7 lessons38 topics7/7 live
13
Queues, Deques and Circular Buffers
7 lessons38 topics7/7 live
14
Hash Tables, Maps and Sets
9 lessons52 topics9/9 live
15
Data Structure Selection and Implementation Trade-offs
5 lessons31 topics5/5 live
Part III
Searching, Sorting and Selection
Part IV
Fundamental Algorithm Design Paradigms
Part V
Trees, Priority Structures and Range Queries
24
Tree Fundamentals and Traversal
8 lessons50 topics8/8 live
25
Binary Search Trees and Ordered Sets
6 lessons33 topics6/6 live
26
Self-Balancing Search Trees and B-Trees
6 lessons34 topics6/6 live
27
Heaps and Priority Queues
7 lessons35 topics7/7 live
28
Tries, Prefix Trees and Dictionary Structures
7 lessons34 topics7/7 live
29
Fenwick Trees and Segment Trees
7 lessons39 topics7/7 live
30
Static Range Queries and Decomposition Techniques
6 lessons27 topics6/6 live
31
Disjoint Set Union (Union-Find)
5 lessons25 topics5/5 live
Part VI
Graph Algorithms and Tree-Graph Techniques
32
Graph Theory Basics and Representations
6 lessons39 topics6/6 live
33
BFS, DFS and Graph Connectivity
7 lessons32 topics7/7 live
34
Directed Acyclic Graphs and Topological Ordering
6 lessons23 topics6/6 live
35
Shortest Paths and Weighted Graph Search
9 lessons38 topics9/9 live
36
Minimum Spanning Trees and Graph Connectivity
6 lessons24 topics6/6 live
37
Graph Dynamic Programming and DAG Applications
5 lessons20 topics5/5 live
38
Connectivity, Bridges, Articulation Points and SCCs
6 lessons25 topics6/6 live
39
Network Flow and Minimum Cuts
8 lessons37 topics8/8 live
40
Graph Matchings and Assignment
6 lessons22 topics6/6 live
41
Advanced Graph Structure and Specialized Graph Problems
8 lessons36 topics8/8 live
42
Advanced Tree Algorithms on Graphs
11 lessons46 topics
Part VII
Dynamic Programming: Comprehensive Problem Families
43
Knapsack, Subset and Counting Dynamic Programming
6 lessons28 topics
44
Sequence and String Dynamic Programming
6 lessons24 topics
45
Grid, Interval, Partition and Game Dynamic Programming
6 lessons29 topics
46
Tree, Graph, Bitmask and Digit Dynamic Programming
7 lessons33 topics
47
Advanced DP Optimizations and State Techniques
9 lessons34 topics
Part VIII
String Algorithms and Text Indexing
Part IX
Number Theory, Combinatorics and Algebra
52
Number Theory and Prime Algorithms
7 lessons33 topics
53
Modular Arithmetic and Cryptographic Number Theory
7 lessons29 topics
54
Combinatorics, Counting and Enumeration
8 lessons34 topics
55
Probability, Expectation and Random Processes
6 lessons27 topics
56
Matrices, Linear Algebra and Recurrences
6 lessons24 topics
57
Polynomial Algorithms and Fast Transforms
6 lessons24 topics
Part X
Computational Geometry and Advanced Algorithms
Part XI
Advanced Data Structures and Offline Techniques
62
Randomized and Self-Adjusting Search Structures
6 lessons26 topics
63
Persistence, Dynamic Trees and Specialized Range Structures
7 lessons29 topics
64
Offline Range Queries and Query Reordering
7 lessons24 topics
65
Bitsets, Succinct and Probabilistic Data Structures
7 lessons31 topics
66
Advanced Combinatorial and Search Algorithms
7 lessons28 topics
Part XII
Algorithm Engineering, Java Practice and Tutorial Publishing
67
Algorithm Engineering and Production Performance
6 lessons30 topics
68
Java DSA Reference Implementations and Library Mapping
9 lessons59 topics
69
Testing, Debugging and Proving DSA Solutions
7 lessons37 topics
70
Interview Problem Patterns and Question Families
11 lessons62 topics
71
Practice Roadmap and Progressive Assessments
7 lessons47 topics
72
Tutorial Website Content Architecture and Publishing Checklist
10 lessons69 topics
73
Capstone Projects and End-to-End Applications
6 lessons31 topics
Reference