C.W.K.
Stream
← C.W.K. Quests
🧮

Data Structures & Algorithms Quest

Updated: 2026-05-30

The shapes you store knowledge in, and the cost of every move you make on it

Data structures and algorithms, taught for real — not as an interview gauntlet, but as the lens that lets you read any system in the world. Concepts and cost, always, before code.

15 tracks · 85 lessons · ~16h · difficulty: beginner-to-intermediate

Level 0Curious Beginner
0 XP0/85 lessons0/19 achievements
0/100 XP to next level100 XP to go0% complete
Fifteen tracks, from 'what even is a data structure' all the way to dynamic programming, graph algorithms, and the limits of computation. Real runnable Python, complexity you can actually feel in your hands, and Pippa's anti-gatekeeping voice the whole way down. The frame underneath every lesson: the way you structure what you know — and the cost of every operation you run on it — is how any system, not just a computer, makes sense of the world. Eighty-five lessons. No leetcode grind, no magic spells. Just structure, cost, and a lens that stays with you long after the syntax fades.

Tracks

  1. 01🧱Foundations

    0/5 lessons

    What a data structure and an algorithm actually are

    Before any structure or sorting trick: what are we even doing here? A data structure is data plus the operations that are cheap on it. An algorithm is a recipe with a cost. And cost — not cleverness — is the whole game.

    Lesson list (5)Quiz · 4 questions
  2. 02⏱️Complexity

    0/6 lessons

    Reading the price tag before you pay it

    Big-O is not a magic spell — it's the answer to one question: when the data gets bigger, how much bigger does the work get? This track turns that question into a tool you can point at any code and apply in seconds.

    Lesson list (6)Quiz · 4 questions
  3. 03🔢Arrays & Strings

    0/6 lessons

    Contiguous memory and the techniques it unlocks

    The array is the most fundamental structure there is — a row of boxes in a line of memory. Understanding why indexing is instant and inserting is slow unlocks a whole family of techniques: two pointers, sliding windows, prefix sums. Strings are just arrays of characters wearing a disguise.

    Lesson list (6)Quiz · 4 questions
  4. 04🔗Linked Lists

    0/5 lessons

    When you trade instant indexing for instant rearranging

    A linked list scatters its elements across memory and threads them together with pointers. You lose O(1) indexing — but you gain O(1) insertion and deletion wherever you already hold a handle. Understanding when that trade is worth it (and the cache cost that usually makes it not) is the real lesson here.

    Lesson list (5)Quiz · 4 questions
  5. 05🥞Stacks & Queues

    0/5 lessons

    Discipline about which end you touch

    A stack and a queue are the same idea with one rule changed: which end you take from. Stack = last in, first out (the call stack, undo). Queue = first in, first out (fairness, BFS). Both are abstract data types — a contract about access order, not a specific implementation.

    Lesson list (5)Quiz · 4 questions
  6. 06#️⃣Hashing

    0/6 lessons

    The closest thing to magic: instant lookup

    A hash map finds, inserts, and deletes in O(1) average — it turns a key directly into a memory location instead of searching for it. This is the structure behind Python's dict and set. Understanding how it pulls off 'instant' (and exactly when it fails) is one of the highest-leverage things in this quest.

    Lesson list (6)Quiz · 4 questions
  7. 07🌳Trees

    0/7 lessons

    Hierarchy, and the structure that's secretly recursion

    A tree has one root and branching children — hierarchy made concrete. It's where O(log n) lookup lives (when balanced), the natural home of recursion, and the answer to hashing's blind spot: order. From file systems to decision trees to the page you're reading, trees appear wherever a thing contains things.

    Lesson list (7)Quiz · 4 questions
  8. 08⛰️Heaps & Priority Queues

    0/5 lessons

    Always know the best, without keeping everything sorted

    A heap answers one question superbly: 'what's the smallest (or largest) thing right now?' — O(1) to peek, O(log n) to remove. It doesn't keep everything sorted, just sorted-enough. It's a complete binary tree living inside an array, and it's the engine behind priority queues, schedulers, and top-k.

    Lesson list (5)Quiz · 4 questions
  9. 09🕸️Graphs

    0/6 lessons

    The structure of relationships — and of almost everything

    A graph is nodes connected by edges, with no rules about how. It's the most general structure in this quest and the most universal: maps, social networks, the web, dependencies, molecules, the brain. Trees and linked lists are just graphs with restrictions. Master BFS and DFS and you can explore any network of relationships.

    Lesson list (6)Quiz · 4 questions
  10. 10🗺️Graph Algorithms

    0/5 lessons

    Weights, shortest paths, and spanning trees

    Once edges carry costs — distances, prices, times — BFS isn't enough. This track covers the weighted-graph classics: Dijkstra and Bellman-Ford for shortest paths, union-find for connectivity, and minimum spanning trees. These power GPS routing, network design, and a surprising amount of real infrastructure.

    Lesson list (5)Quiz · 4 questions
  11. 11🔍Searching & Sorting

    0/7 lessons

    The two operations everything else is built on

    Searching and sorting are the most-used algorithms in existence, and they teach the deepest lessons: binary search shows the power of halving, the sorting tour shows divide-and-conquer in action, and the O(n log n) lower bound reveals a fundamental limit. Plus the practical truth — you'll almost always call the library, but you must know what it's doing.

    Lesson list (7)Quiz · 4 questions
  12. 12🪆Recursion & Divide and Conquer

    0/6 lessons

    Solving a problem with smaller copies of itself

    Recursion is a function calling itself on a smaller piece — the most elegant tool in algorithms once it clicks. This track demystifies the call stack, the leap of faith, the recursion tree, divide-and-conquer, and backtracking. Master recursion and trees, graphs, sorting, and dynamic programming collapse into one idea.

    Lesson list (6)Quiz · 4 questions
  13. 13🧩Dynamic Programming

    0/6 lessons

    Remember the past so you don't recompute it

    Dynamic programming is the art of solving a problem by solving its subproblems once and reusing the answers. It sounds intimidating but reduces to two conditions and one habit: overlapping subproblems, optimal substructure, and a place to store results. From Fibonacci to edit distance to knapsack, it turns exponential into polynomial.

    Lesson list (6)Quiz · 4 questions
  14. 14🧰Algorithmic Paradigms

    0/6 lessons

    The strategy toolbox: greedy, bits, randomness, and choosing

    Beyond specific algorithms are the strategies that generate them: greedy choices, exploiting bits, trading certainty for speed with randomness, and the meta-skill of choosing the right paradigm. This track collects the toolbox and teaches the judgment to reach for the right tool.

    Lesson list (6)Quiz · 4 questions
  15. 15🎓Epilogue

    0/4 lessons

    Where the structures live, and the lens that stays

    You've built the whole toolkit. This closing track zooms back out: where these structures actually live in real systems (including the one that runs Pippa), how they're the OOP idea made concrete, the cost-model as a lens on life itself, and the frontier where even the best algorithms hit a wall.

    Lesson list (4)Quiz · 4 questions
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.