15 units · 75 lessons
Data Structures and Algorithms
Data Structures and Algorithms from the first idea to exam level: every lesson builds on the one before, with a worked example, a step-through diagram where it helps, a quick check and practice that adapts to what you know. Follows Althoff, The Self-Taught Computer Scientist (2022).
Data Structures and Algorithms at a glance
What does Data Structures and Algorithms cover?
Algorithm Analysis, Arrays & Searching, Sorting, Linked Lists, Stacks, Infix, Prefix & Postfix, Queues, Search Trees, Traversals & Topological Sort, Heaps & Heap Sort, Hash Tables, Graphs & Traversal and MST & Shortest Paths. It follows Althoff, The Self-Taught Computer Scientist (2022).
How many lessons does the Data Structures and Algorithms course on Studious have?
15 units and 75 lessons, from "Measuring an algorithm's speed" to "Dijkstra's shortest path". Each lesson has a worked example, a quick check and practice that adapts to what you know, and many have step-by-step diagrams.
Course outline
- Unit 1 · Week 1
Algorithm analysis
- Measuring an algorithm's speed
- Data structures, algorithms and counting operations
- Growth rates: O(1), O(log n), O(n) and O(n²)
- Big O, Big Ω and Big Θ
- Best, worst and average case
- Unit 2 · Weeks 1–2
Arrays and searching
- Arrays: data in a row
- Declaring an array: memory, indexes and addresses
- Arrays and the cost of their operations
- Linear search
- Binary search
- Unit 3 · Week 3
Insertion sort and merge sort
- Putting data in order
- Insertion sort
- Merging two sorted halves
- Merge sort
- Unit 4 · Week 4
Quick sort
- Quick sort at a glance
- Partitioning around a pivot
- Sorting both sides recursively
- Quick sort performance and comparing sorts
- Unit 5 · Week 5
Linked lists
- Linked lists: data in a chain
- Creating a node and pointing head at it
- Singly linked lists
- Inserting in the middle and at the end
- Deleting a node
- Doubly and circular linked lists
- Unit 6 · Week 6
Searching and sorting linked lists
- Finding and ordering items in a list
- Searching a linked list
- Binary search on a list
- Sorting a linked list
- Merging two sorted lists
- Unit 7 · Week 7
Stacks
- Stacks: last in, first out
- The stack and its array implementation
- A linked-list stack and bracket matching
- Stacks in action: function calls and undo
- Unit 8 · Week 8
Polish notation
- Writing expressions without brackets
- Infix, prefix and postfix
- Converting infix to postfix with a stack
- Evaluating postfix (RPN)
- Evaluating prefix (Polish) expressions
- Unit 9 · Week 9
Queues
- Queues: first in, first out
- A queue in a plain array
- Queues and circular queues
- Deques and priority queues
- A queue from two stacks
- Unit 10 · Week 10
Search trees: BST, AVL and B-trees
- Search trees: keeping data sorted
- Binary search trees
- Deleting from a BST
- AVL trees and rotations
- AVL double rotations: LR and RL
- B-trees and B+ trees (overview)
- Unit 11 · Week 11
Tree traversals and topological sort
- Visiting every node of a tree
- Preorder, inorder, postorder and level order
- Level-order traversal with a queue
- Directed graphs, DAGs and in-degree
- Topological sort
- Unit 12 · Week 12
Binary heaps and heap sort
- Heaps: the largest on top
- Heap shape: a tree stored in an array
- Heap insert: sift up
- Binary heaps: insert and extract
- Build-heap: heapify from the bottom up
- Building a heap and heap sort
- Unit 13 · Week 13
Hash tables
- Hash tables: finding by key
- Hash functions: from key to bucket
- Hash functions and chaining
- Linear probing step by step
- Open addressing: linear and quadratic probing
- Searching and deleting with probing
- Unit 14 · Week 14
Graphs and graph traversal
- Graphs: things and their connections
- Representing a graph
- Breadth-first search (BFS)
- Depth-first search (DFS)
- Unit 15 · Week 15
Minimum spanning trees and shortest paths
- Cheapest networks and shortest routes
- Spanning trees: V − 1 edges, no cycle
- Kruskal's minimum spanning tree
- Relaxing an edge
- Dijkstra's shortest path
Study every lesson with diagrams, practice and Buddy, your AI tutor.
Start studying free