Path
The path52 weeks · 50 chapters · 9 parts
Zero to interview.
One year, in order. Each chapter builds on the ones before it.
Java
Weeks 1–8
00Start hereW 1what DSA is and how interviews test it, how to use Algoz, setting up Java (JDK, editor, javac/java, the JVM)3 notes
01Java basicsW 1-2program structure and how Java runs, primitive types (sizes, two's complement, overflow, floating point), operators (/ and % with negatives, bit operators, precedence), casting and promotion, conditions and switch (expressions, pattern matching), loops and labelled break, methods (pass-by-value, overloading, varargs, call stack), arrays (1D, 2D, jagged, Arrays), Strings (immutability, pool, == vs equals), StringBuilder, input/output (Scanner, BufferedReader)12 notes
- 02Object-oriented JavaW 3-4classes and objects, stack vs heap, references and null, constructors and initialisation order, static, final and immutability, access modifiers, inheritance and dynamic dispatch, abstract classes vs interfaces, the Object contract (equals/hashCode/toString), enums, records, nested/inner/anonymous classesSoon
- 03Core JavaW 5wrapper classes, autoboxing and the Integer cache, generics (bounds, wildcards/PECS, erasure), exceptions (checked/unchecked, try-with-resources), lambdas and functional interfaces, method references, Optional, streams (and when not to use them)Soon
- 04Collections FrameworkW 6-7hierarchy and choosing a collection, ArrayList internals (growth, amortised cost), LinkedList, HashMap internals (buckets, treeification, resize), HashSet, LinkedHashMap, TreeMap/TreeSet (red-black tree, floor/ceiling), ArrayDeque, PriorityQueue (binary heap), Comparable vs Comparator, iterators and fail-fast, Collections/Arrays utilitiesSoon
- 05Java for problem solvingW 8fast I/O, comparator chains, sorting objects and arrays of arrays, BigInteger/BigDecimal, recursion depth and stack size, long and modulo habits, the idioms used in every solutionSoon
Foundations
Weeks 9–12
- 06Complexity analysisW 9Big-O/Θ/Ω, best/average/worst, amortised analysis, recursion trees, master theorem, space complexity, constraints → required complexity, your first LeetCode problem end to endSoon
- 07RecursionW 10the call stack, recursion trees, base cases, recursion vs iteration, tail calls, memoisation previewSoon
- 08Math and number theoryW 11digits and number bases, primes and the sieve, GCD/LCM, modular arithmetic, fast power, modular inverse, combinatorics (nCr, Pascal, Catalan), matrix exponentiation, basic geometry (area, orientation, points on a line)Soon
- 09Bit manipulationW 12binary and two's complement, masks, XOR tricks, counting bits, subsets with bitmasksSoon
- 10Data structures mapW 12abstract data type vs implementation, contiguous vs linked memory, static vs dynamic size, what every structure is good and bad at, how to choose oneSoon
Linear data structures and patterns
Weeks 13–23
- 11ArraysW 13traversal, static vs dynamic arrays, prefix sums and difference arrays, Kadane, rotation, in-place tricks (Dutch flag, cyclic sort), Boyer-Moore majoritySoon
- 12Matrices (2D arrays)W 14row/column-major layout, traversal orders (spiral, diagonal, zigzag), rotate and transpose, search in a sorted matrix, 2D prefix sums, set-matrix-zeroes style in-place tricksSoon
- 13Two pointersW 15opposite ends, same direction, fast/slow, partitioning, k-sumSoon
- 14Sliding windowW 15-16fixed, variable, "at most K", counting windowsSoon
- 15Intervals and sweep lineW 16merge, insert, overlap counting, meeting rooms, sweep line with eventsSoon
- 16StringsW 17character encoding and char arithmetic, frequency counting, palindromes, anagrams, parsing, string building, comparison tricksSoon
- 17Hashing and hash tablesW 18how a hash table works (hash functions, chaining vs open addressing, load factor, resizing), designing a HashMap/HashSet, frequency maps, prefix sum + map, grouping, rolling hashSoon
- 18Searching and binary searchW 19linear search, binary search (classic, lower/upper bound), rotated arrays, binary search on the answer, on real numbers, in 2D, ternary and exponential searchSoon
- 19SortingW 20elementary sorts, merge sort (inversions), quick sort and quickselect, heap sort, counting/radix/bucket, stability, custom sorting, lower bound for comparison sortsSoon
- 20Linked listsW 21singly, doubly and circular lists, building one from scratch, reversal (whole, in groups), fast/slow pointers, merging, cycles, copying with random pointers, sentinel nodesSoon
- 21StacksW 22the stack ADT, array and linked implementations, ArrayDeque as a stack (and why not Stack), balanced parentheses, expression evaluation (infix, postfix, shunting-yard), min stack, monotonic stack (next greater/smaller, largest rectangle, trapping rain water), undo/redo, replacing recursion with a stackSoon
- 22Queues and dequesW 23the queue ADT, circular queue (ring buffer), linked and array implementations, ArrayDeque/LinkedList as a queue, deque operations, queue using stacks and stack using queues, monotonic deque (sliding window maximum), BFS preview, priority queue previewSoon
Recursion and search
Weeks 24–26
- 23BacktrackingW 24-25subsets, combinations, permutations, pruning, N-Queens, sudoku, word search, partitioningSoon
- 24Divide and conquerW 26merge-based counting, quickselect, closest pair, D&C on arrays and treesSoon
Trees
Weeks 27–32
- 25Binary treesW 27-28terminology and types (full, complete, perfect, balanced), DFS (recursive and iterative), BFS and level order, height/diameter/paths, views, LCA, construction, serialisation, Morris traversal, N-ary treesSoon
- 26Binary search treesW 29search, insert, delete, validate, k-th smallest, floor/ceil, self-balancing ideas (AVL, red-black) and why TreeMap stays O(log n)Soon
- 27Heaps and priority queuesW 30heap internals, heapify, building a heap in O(n), top-K, k-way merge, two heaps (median), schedulingSoon
- 28TriesW 31insert/search/prefix, word search with a trie, XOR trie, autocompleteSoon
- 29Segment tree and Fenwick treeW 32range query and point update, lazy propagation, Fenwick (BIT), when to use whichSoon
Graphs
Weeks 33–39
- 30Graph basics and traversalW 33terminology, representations (matrix, list, edge list), BFS, DFS, components, grids, flood fill, multi-source BFS, 0-1 BFSSoon
- 31Topological sort and DAGsW 34Kahn, DFS order, cycle detection, course schedule, DP on a DAGSoon
- 32Union-FindW 35path compression, union by rank/size, connectivity problemsSoon
- 33Shortest pathsW 36Dijkstra, Bellman-Ford, Floyd-Warshall, shortest paths with extra stateSoon
- 34Minimum spanning treeW 37Prim, Kruskal, proofs and variationsSoon
- 35Advanced graphsW 38-39bipartite graphs, bridges and articulation points, strongly connected components, Euler paths, max-flow introductionSoon
Greedy and dynamic programming
Weeks 40–47
- 36GreedyW 40exchange argument, activity selection, interval greedy, jump games, gas station, HuffmanSoon
- 37DP foundationsW 41memoisation vs tabulation, designing the state, 1D DP, space optimisationSoon
- 38Grid and 2D DPW 42paths, obstacles, minimum path sum, maximal squareSoon
- 39Knapsack familyW 430/1, unbounded, subset sum, coin change, target sumSoon
- 40String DPW 44LCS, edit distance, palindromic subsequences, wildcard/regex matchingSoon
- 41Sequence DPW 45LIS (n log n), stock problems with states, house robber familySoon
- 42Interval and partition DPW 46matrix chain, burst balloons, palindrome partitioningSoon
- 43Advanced DPW 47DP on trees, bitmask DP, digit DP, DP with data structuresSoon
Expert topics
Weeks 48–51
- 44String algorithmsW 48KMP, Z-function, Rabin-Karp, Manacher, suffix array introductionSoon
- 45Advanced data structuresW 49sparse table, square-root decomposition, skip list, ordered-set tricks, LRU and LFU cachesSoon
- 46Randomised algorithms and probabilityW 50reservoir sampling, Fisher-Yates shuffle, random with weights, rand7 from rand5, randomised quickselect, expected valueSoon
- 47Games and game theoryW 50minimax, Nim and Grundy numbers, game DP (Stone Game, Can I Win)Soon
- 48Design problemsW 51iterators, data-structure design (min stack, time-based store, rate limiter, hit counter), OOP design in DSA roundsSoon
Interview mastery
Weeks 52–52
- 49Cracking the roundW 52the problem-solving method, pattern recognition map, explaining complexity, mock interviews, revision planSoon
Appendix
Any time
- —Java beyond DSAany timeconcurrency (threads, synchronized, volatile, executors, ConcurrentHashMap), JVM internals (memory areas, GC, JIT); optional, for Java developer interviewsSoon