Java (Micro)
Master the small Java code shapes that combine into full algorithms and data-structure solutions.
Values & Types
Program shape, a variable shelf, primitives, references, wrappers, and conversions.
Arrays & Lists
Fixed arrays, dynamic lists, grids, indexed mutation, copying, and prefixes.
Maps & Sets
Lookup, defaults, counting, grouping, membership, and nested collections.
Control Flow
Branches, switch expressions, loop forms, two pointers, and sliding windows.
Methods & Recursion
Signatures, arrays and lists at boundaries, lambdas, base cases, and memoization.
Classes & References
Object identity, bare trees, linked lists, tries, interfaces, and comparators.
Stacks & Queues
ArrayDeque as a stack, conditional BFS queues, both deque ends, and monotonic queues.
Sorting & Searching
Array and collection sorting, safe comparators, and binary-search bounds.
Heaps & Union-Find
Separate min/max priority queues and disjoint sets with path compression.
Graphs & Traversal
Adjacency lists, BFS families, grid flood fill, DFS, and topological order.
DP & Backtracking
Rolling states, memoized grids, snapshots, pruning, and undo steps.
Bits, Math & Strings
Bit operations, wide arithmetic, Unicode-aware text, parsing, I/O, and exceptions.
Course checkpoint
Verify the compact Java syntax used by algorithm and data-structure solutions.