Data Structures & Algorithms 101: Algorithmic thinking
Data structures and algorithms for university students: searching, sorting, stacks, queues, recursion, hash tables, trees and graphs. Every chapter starts from a real problem; you watch, predict, make each move of the algorithm yourself, race them as n grows and write them in blocks. No programming needed.
- Beginner
- About 12 to 15 hours
- 10 sections
- 50 lessons
Sign in with Google or GitHub and the course opens in the Academy with the same account.
Course outline
Section 1
Getting started
Where are you now?
Check · 10 min
What this course trains, and how
Lesson · 8 min
Section 2
An algorithm is a way of thinking
Guess a number in seven questions
Lesson · 8 min
Halving: the algorithm behind it
Lesson · 10 min
Count steps, not seconds
Practice · 10 min
Out there, and naming the problem
Lesson · 8 min
Section 3
Arrays and searching
One order in a million rows
Lesson · 10 min
Write linear search
Practice · 12 min
Binary search on a sorted array
Lesson · 14 min
Write binary search
Practice · 15 min
Race: n against log n
Practice · 8 min
Out there: database indexes
Lesson · 8 min
Section 4
Sorting
Sort by class, then by score
Lesson · 8 min
Be the algorithm: bubble and selection
Practice · 12 min
Insertion sort
Lesson · 12 min
Write selection sort
Practice · 15 min
Divide and conquer: merge sort
Lesson · 14 min
Quick sort
Lesson · 14 min
Race: n² against n log n
Practice · 10 min
Out there: Timsort
Lesson · 8 min
Section 5
Stacks and queues
Undo and waiting lines
Lesson · 10 min
You are the stack, you are the queue
Practice · 10 min
Are the brackets balanced?
Lesson · 12 min
A queue inside an array
Practice · 12 min
Out there: stacks and queues
Lesson · 8 min
Section 6
Recursion
How big is a folder?
Lesson · 10 min
The Tower of Hanoi
Lesson · 14 min
Fibonacci: the same work again and again
Lesson · 14 min
Race: with and without a memo
Practice · 6 min
Out there: recursion
Lesson · 8 min
Section 7
Hash tables
The supermarket lockers
Lesson · 10 min
You are the hash function
Practice · 8 min
Load and doubling
Lesson · 8 min
Race: a list or a hash table?
Practice · 6 min
Out there: hash tables
Lesson · 8 min
Section 8
Trees
The page you are reading is a tree
Lesson · 10 min
You build and search the tree
Practice · 12 min
Four ways to walk a tree
Lesson · 16 min
Race: a balanced tree or a list
Practice · 8 min
Out there: trees
Lesson · 8 min
Section 9
Graphs
Friends, streets, packages
Lesson · 12 min
Friend suggestions: breadth-first search
Lesson · 14 min
Go deep, then come back
Lesson · 16 min
Karel in the dark
Practice · 20 min
Install order: topological sort
Lesson · 12 min
The shortest way through the Old Quarter
Lesson · 22 min
Connect every corner with the least cable
Lesson · 16 min
Challenge: Micromouse
Practice · 45 min
Out there: graphs
Lesson · 10 min
Section 10
Wrap-up
Looking back
Lesson · 8 min
How far have you come?
Check · 10 min
Final reflection
Lesson · 5 min