Computing · Subjects
Core data structures, common algorithms, and Big O notation - the vocabulary that shows up in almost every intro CS course.
Foundations
| Structure | What it is |
|---|---|
| Array | A fixed-size, ordered collection of elements accessed by index; fast lookups, slow inserts in the middle |
| Linked list | A chain of nodes where each points to the next; fast inserts/deletes, slow lookups |
| Stack | Last-in, first-out (LIFO) - like a stack of plates. Used for undo functions, call stacks |
| Queue | First-in, first-out (FIFO) - like a line at a store. Used for task scheduling, breadth-first search |
| Hash table (map) | Stores key-value pairs with near-instant lookup by key |
| Tree | A hierarchical structure of nodes with a single root; binary search trees keep data sorted for fast lookup |
| Graph | A set of nodes connected by edges, used to model networks (maps, social connections, dependencies) |
Problem-Solving
Efficiency
| Notation | Name | Example |
|---|---|---|
O(1) | Constant | Accessing an array element by index |
O(log n) | Logarithmic | Binary search |
O(n) | Linear | Looping through a list once |
O(n log n) | Linearithmic | Merge sort, quicksort (average case) |
O(n²) | Quadratic | Nested loops over the same list (bubble sort) |
Big O describes how an algorithm's running time grows as input size grows - it's about scalability, not raw speed on small inputs.
Common Mistakes
Patterns we see again and again in student work. Each one is fixable once you know to look for it.
Looking for another subject? See all subjects or head back to Tools.