Data Structures in Practice
The structures every programmer uses and every interviewer asks about: what each one is, what its operations cost, and where it shows up in real systems. Structures only, not algorithms.
12 lessons, 33 short cards, each card with one check question and an instant explanation. Then a 16-question test in 20 minutes, in the format of a real online assessment.
-
Arrays, dynamic arrays and tuples
Arrays: everything in one row, Dynamic arrays: an array that grows, Inserting in the middle, Tuples: a small fixed record, What arrays cost
5 lessons -
Hash maps and sets
Hash maps: find by key, Collisions and the worst case, Order: hashed or sorted, Sets: membership and uniqueness
4 lessons -
Linked lists
Nodes and pointers, Linked list or array?, LRU cache: a map and a list together
3 lessons -
Stacks, queues and deques
Stacks: last in, first out, Queues: first in, first out, Ring buffers: a queue in fixed memory
3 lessons -
Trees
Trees: one parent each, Where trees show up in real systems, Binary trees
3 lessons -
Binary search trees and balancing
Binary search trees, Why trees need balancing, B-trees: trees for disks and databases
3 lessons -
Heaps and priority queues
Heaps: the smallest is always on top, Priority queues in real systems
2 lessons -
Tries
Tries: a tree of prefixes, When a trie is worth it
2 lessons -
Graphs
Graphs: nodes and edges, any shape, Storing a graph: list or matrix
2 lessons -
DAGs: workflows and dependencies
Directed acyclic graphs, Topological order and cycle detection
2 lessons -
Union-find
Union-find: which group is this in?, What union-find can't do
2 lessons -
Bloom filters
Bloom filters: 'definitely not' or 'maybe', Sizing and using a Bloom filter
2 lessons
Final test: 16 questions in 20 minutes
Timed and linear: no going back. You get a full review with explanations at the end.
Go to the test →More in Divero School








