Core CS / DSA
Big-O, the structures worth knowing, graphs, and pattern recognition — practical fluency, not from-scratch implementation.
- chapters
- 6
- objectives
- 33
- core
- 22
- est. time
- 2h 30m
- 01 1.1 Big-O & complexity reasoning ★ core
Big-O describes how runtime/space grows as input grows. Master the ordering of the common classes and the difference between best/average/worst and amortized cost.
- 02 1.2 Linear structures — when to reach for each ★ core
Arrays, dynamic arrays, linked lists, stacks, queues, deques — know the access/insert/delete costs and the one-sentence “use it when” for each.
- 03 1.3 Hashing structures ★ core
Hash maps/sets give average O(1) by key. Understand collisions, load factor/rehash, and when a hashmap is the wrong tool (ordering / range queries).
- 04 1.4 Trees
BSTs, self-balancing trees, B/B+ trees (why DB indexes use them), tries, and heaps. The B-tree item directly feeds the Databases indexes chapter.
- 05 1.5 Graphs
Vocabulary, adjacency list vs matrix (sparse vs dense), and BFS vs DFS — when to use each.
- 06 1.6 Algorithm categories — recognize the pattern ★ core
Interviews test pattern recognition: sorting tradeoffs, binary search, two pointers/sliding window, recursion, divide-and-conquer/greedy/DP. Aim for recognition speed.
Section assessment
Harder, multi-concept questions drawn from across the module. Aim for 75%.
- 01hard
DP applies when a problem has overlapping subproblems AND…
- 02medium
An O(n²) algorithm takes 1s on 1,000 items. Roughly how long on 10,000 items?
- 03medium
BFS over a graph naturally uses which structure to track the frontier?
- 04medium
You need to keep keys in sorted order AND do range queries. A hash map is wrong because…
- 05medium
Exceeding a hash table's load factor triggers a resize/rehash.
- 06medium
Why do relational database indexes use B-trees / B+ trees?
- 07medium
You need the top-K largest items from a stream. Best structure?
- 08medium
For a SPARSE graph, which representation is more memory-efficient?
- 09medium
Shortest path in an UNWEIGHTED graph is found by:
- 10medium
“Longest substring without repeating characters” is a classic case of:
- 11medium
Comparison-based sorts are bounded below by:
- 12medium
You keep adding edges and repeatedly ask “are these two nodes connected yet?” Best tool?