Algorithms track
Algorithms & data structures
A step-by-step path through algorithms and data structures. Each lesson starts with a concrete problem, traces the idea by hand, then shows the code in JavaScript and Python.
Recommended order. Go top to bottom. Modules 1 to 3 are the base everything else stands on. After that, trees and graphs can be done in either order, but finish module 8 before dynamic programming.
-
Foundations
5 lessonsWhat an algorithm is, how to measure one, and how to start when you are stuck.
-
Arrays, Strings & Hashing
6 lessonsThe everyday tools: arrays, strings, hash maps, and the patterns built on them.
-
Linked Lists, Stacks & Queues
4 lessonsStructures where order is the whole point.
-
Sorting & Searching
7 lessonsHow to put things in order, and how order lets you find things fast.
-
Trees
6 lessonsHierarchies, search trees, heaps and tries.
-
Graphs: Traversal
4 lessonsModel the problem as a graph, then walk it.
-
Graphs: Paths & Connectivity
4 lessonsShortest paths, connected groups and cheapest networks.
-
Problem-Solving Techniques
5 lessonsGeneral strategies that turn into code over and over.
-
Dynamic Programming
6 lessonsSolve each small problem once, remember it, and build up.
-
Advanced Topics
3 lessonsTools for when the basics are not fast enough.