Tool
DSA
Data Structures & Algorithms — the interview fundamentals
Learn data structures and algorithms from the ground up — complexity, sorting and searching, linked lists, stacks, queues, hash tables, trees, graphs, shortest paths, dynamic programming, and greedy algorithms, with runnable Python.
15
Chapters
31
Hours (estimated)
1
Self-paced
Part-time
About 11 weeks
1 hour a day, 3 days a week
Full-time
About 4 weeks
3 hours a day, 3 days a week
Estimated from 15 chapters (notes, practice, labs, quiz, exercise, and challenge) plus the final exam. Go at your own pace.
Curriculum
15 chapters, each with a tutorial, a live example, a quiz, an exercise, a challenge, and class practice.
- 1
Introduction to DSA
Why data structures and algorithms matter, and Big-O basics.
- 2
Arrays & Time Complexity
How arrays work, the cost of common array operations, and analyzing an algorithm's time and space.
- 3
Simple Sorting: Bubble, Selection & Insertion
Three O(n²) sorting algorithms — how each works, step by step, and when they're useful.
- 4
Faster Sorting: Quick, Merge, Counting & Radix
Divide-and-conquer sorts that run in O(n log n), and non-comparison sorts that can beat it.
- 5
Searching: Linear & Binary Search
Linear search on any list, binary search on sorted data, and why O(log n) is so fast.
- 6
Linked Lists
Nodes and pointers, how linked lists sit in memory, singly/doubly/circular lists, and their operations.
- 7
Stacks & Queues
LIFO stacks and FIFO queues, their operations, implementations, and real-world uses.
- 8
Hash Tables, Hash Sets & Hash Maps
Hash functions, buckets and collisions, load factor, and O(1) lookups with sets and dictionaries.
- 9
Trees & Traversal
Tree terminology, binary trees, pre-order, in-order, and post-order traversal, and trees stored in arrays.
- 10
Binary Search Trees & AVL Trees
The BST property, search/insert/delete in O(h), why trees get unbalanced, and self-balancing AVL trees.
- 11
Graphs & Graph Traversal
Vertices and edges, directed and weighted graphs, adjacency lists and matrices, DFS, BFS, and cycle detection.
- 12
Shortest Paths & Minimum Spanning Trees
Dijkstra's and Bellman-Ford shortest-path algorithms, and Prim's and Kruskal's minimum spanning trees.
- 13
Maximum Flow
Flow networks, capacities, the Ford-Fulkerson method, residual graphs, and Edmonds-Karp.
- 14
Dynamic Programming
Overlapping subproblems and optimal substructure, memoization, tabulation, and the 0/1 knapsack problem.
- 15
Greedy & Classic Algorithms
Greedy algorithms and when they work, the Euclidean algorithm, Huffman coding, and the traveling salesman problem.
DSA is free to study, self-paced. Pass the final exam to earn an optional Certificate of Completion for $40.