GotchiCode needs JavaScript for the code editor and live challenges. Please enable it to play.
GotchiCode
Paths
Courses
Community
Arcade
Leaderboard
◂
Learn Data Structures & Algorithms in Python
▾
What Is an Algorithm?
0/5
Follow the Steps
10 XP
Correct First, Fast Second
10 XP
Count the Steps
15 XP
Two Ways to Solve It
15 XP
Exit Early
15 XP
▾
Measuring Work
0/5
Every Pair
15 XP
The Power of Halving
15 XP
Growth Shapes
15 XP
Guessing Games
15 XP
Rank the Algorithms
15 XP
▾
Big-O Notation
0/5
Big-O: Constant Time
15 XP
Big-O: Linear Time
15 XP
Drop the Constants
15 XP
Big-O: Quadratic Time
20 XP
Fix the Wasteful Scan
20 XP
▾
Big-O in Practice
0/5
Big-O: Logarithmic Time
15 XP
Big-O: n log n
15 XP
Best Case, Worst Case
15 XP
Trading Space for Time
20 XP
Polynomial vs Exponential
20 XP
▾
Linear & Binary Search
0/5
Linear Search
15 XP
Find Them All
15 XP
Binary Search
25 XP
Where Would It Go?
20 XP
Counting Comparisons
20 XP
▾
Bubble Sort
0/5
One Pass
15 XP
Bubble Sort
20 XP
Stop When It's Sorted
20 XP
Sort the Party
20 XP
Count the Swaps
20 XP
▾
Insertion Sort
0/5
Insert Into Sorted
15 XP
Insertion Sort
20 XP
The Nearly-Sorted Superpower
20 XP
Stable Sorting
20 XP
Sort As They Arrive
20 XP
▾
Selection Sort
0/4
Find the Minimum's Index
15 XP
Selection Sort
20 XP
The Fewest Swaps
20 XP
Select the Top K
20 XP
▾
Merge Sort
0/5
Split
15 XP
Merge
20 XP
Merge Sort
25 XP
Merge Sort the Roster
20 XP
Count the Work
20 XP
▾
Quick Sort
0/5
Partition
20 XP
Quick Sort
25 XP
The Pivot Problem
20 XP
Median of Three
20 XP
Partition In Place
25 XP
▾
Exponential Time
0/5
Fibonacci the Hard Way
15 XP
Counting the Explosion
20 XP
Memoization
25 XP
Power Sets
25 XP
Beyond Exponential
20 XP
▾
Stacks
0/5
The Stack
20 XP
Reverse with a Stack
20 XP
Balanced Runes
25 XP
Undo History
20 XP
The Max-Tracking Stack
25 XP
▾
Queues
0/5
The Queue
20 XP
The Healing Line
20 XP
Taking Turns
20 XP
A Queue from Two Stacks
25 XP
When Priority Matters
25 XP
▾
Linked Lists
0/5
Nodes
20 XP
Walk the Chain
20 XP
Prepend, the O(1) Move
20 XP
Search the Chain
20 XP
Remove a Link
25 XP
▾
Doubly Linked Lists
0/4
Two-Way Nodes
20 XP
Head and Tail
25 XP
Walk Both Ways
20 XP
A Queue on Links
25 XP
▾
Binary Trees
0/5
Tree Nodes
20 XP
Count the Canopy
20 XP
Tree Height
20 XP
In-Order Traversal
25 XP
Collect the Leaves
25 XP
▾
Binary Search Trees
0/5
The BST Property
20 XP
Insert
25 XP
Contains
20 XP
Min and Max
20 XP
Sorted for Free
25 XP
▾
Balanced Trees
0/4
The Danger of Chains
20 XP
Is It Balanced?
25 XP
Building It Balanced
25 XP
Rotations
30 XP
▾
Hash Maps
0/5
Hashing
20 XP
Buckets
25 XP
Collisions
25 XP
Get, Contains, Remove
25 XP
Load Factor and Resizing
30 XP
▾
Tries
0/5
The Trie
20 XP
Add a Word
20 XP
Lookup
20 XP
Collecting Words
25 XP
Autocomplete
30 XP
▾
Graphs
0/5
The Sanctuary Map
20 XP
Adjacency Lists
25 XP
Directed Trails
20 XP
The Adjacency Matrix
25 XP
Degrees
20 XP
▾
Breadth-First Search
0/5
Ripples Outward
20 XP
Visit Order
20 XP
Can We Get There?
20 XP
Shortest Distance
25 XP
Search by Level
25 XP
▾
Depth-First Search
0/4
Down the Tunnels
20 XP
DFS with a Stack
25 XP
Path Finding, Depth-First
25 XP
BFS or DFS?
25 XP
▾
Graph Applications
0/5
Connected Components
25 XP
Reconstruct the Path
25 XP
Degrees of Separation
25 XP
The Grid Is a Graph
25 XP
Flood Fill
25 XP
▾
Algorithm Practice
0/5
The Perfect Duo
25 XP
The First Unique Sighting
25 XP
Pair Up the Sparring Ring
25 XP
The Championship Board
25 XP
Merge the Patrols
30 XP
▾
Capstone: The Encounter Finder
0/5
Capstone: The Roster Index
25 XP
Capstone: The Move Trie
25 XP
Capstone: The Route Planner
30 XP
Capstone: Nearest Encounter
30 XP
Capstone: The Encounter Finder
30 XP
Loading lesson…