algoz
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

  1. 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
    1. 01What DSA is13 min
    2. 02How to use Algoz13 min
    3. 03Set up Java10 min
  2. 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
    1. 01How a Java program runs10 min
    2. 02Variables and primitive types12 min
    3. 03Floating point12 min
    4. 04Operators17 min
    5. 05Casting and type promotion15 min
    6. 06Conditions and switch13 min
    7. 07Loops12 min
    8. 08Methods16 min
    9. 09Arrays16 min
    10. 10Strings18 min
    11. 11StringBuilder17 min
    12. 12Input and output13 min
  3. 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
  4. 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
  5. 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
  6. 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

  1. 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
  2. 07RecursionW 10the call stack, recursion trees, base cases, recursion vs iteration, tail calls, memoisation previewSoon
  3. 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
  4. 09Bit manipulationW 12binary and two's complement, masks, XOR tricks, counting bits, subsets with bitmasksSoon
  5. 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

  1. 11ArraysW 13traversal, static vs dynamic arrays, prefix sums and difference arrays, Kadane, rotation, in-place tricks (Dutch flag, cyclic sort), Boyer-Moore majoritySoon
  2. 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
  3. 13Two pointersW 15opposite ends, same direction, fast/slow, partitioning, k-sumSoon
  4. 14Sliding windowW 15-16fixed, variable, "at most K", counting windowsSoon
  5. 15Intervals and sweep lineW 16merge, insert, overlap counting, meeting rooms, sweep line with eventsSoon
  6. 16StringsW 17character encoding and char arithmetic, frequency counting, palindromes, anagrams, parsing, string building, comparison tricksSoon
  7. 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
  8. 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
  9. 19SortingW 20elementary sorts, merge sort (inversions), quick sort and quickselect, heap sort, counting/radix/bucket, stability, custom sorting, lower bound for comparison sortsSoon
  10. 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
  11. 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
  12. 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

  1. 23BacktrackingW 24-25subsets, combinations, permutations, pruning, N-Queens, sudoku, word search, partitioningSoon
  2. 24Divide and conquerW 26merge-based counting, quickselect, closest pair, D&C on arrays and treesSoon

Trees

Weeks 27–32

  1. 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
  2. 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
  3. 27Heaps and priority queuesW 30heap internals, heapify, building a heap in O(n), top-K, k-way merge, two heaps (median), schedulingSoon
  4. 28TriesW 31insert/search/prefix, word search with a trie, XOR trie, autocompleteSoon
  5. 29Segment tree and Fenwick treeW 32range query and point update, lazy propagation, Fenwick (BIT), when to use whichSoon

Graphs

Weeks 33–39

  1. 30Graph basics and traversalW 33terminology, representations (matrix, list, edge list), BFS, DFS, components, grids, flood fill, multi-source BFS, 0-1 BFSSoon
  2. 31Topological sort and DAGsW 34Kahn, DFS order, cycle detection, course schedule, DP on a DAGSoon
  3. 32Union-FindW 35path compression, union by rank/size, connectivity problemsSoon
  4. 33Shortest pathsW 36Dijkstra, Bellman-Ford, Floyd-Warshall, shortest paths with extra stateSoon
  5. 34Minimum spanning treeW 37Prim, Kruskal, proofs and variationsSoon
  6. 35Advanced graphsW 38-39bipartite graphs, bridges and articulation points, strongly connected components, Euler paths, max-flow introductionSoon

Greedy and dynamic programming

Weeks 40–47

  1. 36GreedyW 40exchange argument, activity selection, interval greedy, jump games, gas station, HuffmanSoon
  2. 37DP foundationsW 41memoisation vs tabulation, designing the state, 1D DP, space optimisationSoon
  3. 38Grid and 2D DPW 42paths, obstacles, minimum path sum, maximal squareSoon
  4. 39Knapsack familyW 430/1, unbounded, subset sum, coin change, target sumSoon
  5. 40String DPW 44LCS, edit distance, palindromic subsequences, wildcard/regex matchingSoon
  6. 41Sequence DPW 45LIS (n log n), stock problems with states, house robber familySoon
  7. 42Interval and partition DPW 46matrix chain, burst balloons, palindrome partitioningSoon
  8. 43Advanced DPW 47DP on trees, bitmask DP, digit DP, DP with data structuresSoon

Expert topics

Weeks 48–51

  1. 44String algorithmsW 48KMP, Z-function, Rabin-Karp, Manacher, suffix array introductionSoon
  2. 45Advanced data structuresW 49sparse table, square-root decomposition, skip list, ordered-set tricks, LRU and LFU cachesSoon
  3. 46Randomised algorithms and probabilityW 50reservoir sampling, Fisher-Yates shuffle, random with weights, rand7 from rand5, randomised quickselect, expected valueSoon
  4. 47Games and game theoryW 50minimax, Nim and Grundy numbers, game DP (Stone Game, Can I Win)Soon
  5. 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

  1. 49Cracking the roundW 52the problem-solving method, pattern recognition map, explaining complexity, mock interviews, revision planSoon

Appendix

Any time

  1. —Java beyond DSAany timeconcurrency (threads, synchronized, volatile, executors, ConcurrentHashMap), JVM internals (memory areas, GC, JIT); optional, for Java developer interviewsSoon
AlgozSet in Geist & Geist MonoJava track