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.
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 Module 1Thinking in steps
What an algorithm is, what Big O says, and searching a list one item at a time or by halves.
0 / 42 Module 2Structures that make code fast
Hash maps and sets, stacks and queues, recursion, sorting and graphs.
0 / 63 Module 3Going further
Search trees, heaps, dynamic programming and shortest paths.
0 / 4