Skip to main content
Academy
Beginner Code District

Algorithms and data structures

Big O, searching, sorting and the structures behind them.

Algorithms are the recipes behind every fast app, and data structures are the containers those recipes work on. This track teaches the ideas every developer is expected to know: counting steps with Big O, searching with linear and binary search, and choosing between lists, hash maps, sets, stacks and queues. Then you will write recursion with memoization, see how merge sort reaches n log n, and walk a friends network with breadth-first search. The last module goes further with search trees, heaps, dynamic programming and Dijkstra's shortest paths.

Every example is short, runnable Python that works on everyday app data: scores, usernames, leaderboards and friends. Basic Python (variables, loops, functions, lists and dicts) is all you need to start.

Lessons
14
Time
2 h
Level
Beginner
  • Bronze open
  • Silver open
  • Gold locked

Ready to prove it?

Three exams are waiting: Bronze, Silver and Gold.

Go to the exams

What you'll be able to do

  • Count an algorithm's steps and describe its growth with Big O
  • Search with linear and binary search, without off-by-one bugs
  • Pick the right structure: list, dict, set, stack or queue
  • Write recursive functions and speed them up with memoization and dynamic programming
  • Explain why merge sort is O(n log n), and sort real data with sorted()
  • Walk a network with breadth-first search and find the cheapest route with Dijkstra's algorithm

The journey

  1. 1
    Module 1

    Thinking in steps

    What an algorithm is, what Big O says, and searching a list one item at a time or by halves.

    0 / 4
  2. 2
    Module 2

    Structures that make code fast

    Hash maps and sets, stacks and queues, recursion, sorting and graphs.

    0 / 6
  3. 3
    Module 3

    Going further

    Search trees, heaps, dynamic programming and shortest paths.

    0 / 4

Quick navigation