← Back to Tools

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. 1

    Introduction to DSA

    Why data structures and algorithms matter, and Big-O basics.

  2. 2

    Arrays & Time Complexity

    How arrays work, the cost of common array operations, and analyzing an algorithm's time and space.

  3. 3

    Simple Sorting: Bubble, Selection & Insertion

    Three O(n²) sorting algorithms — how each works, step by step, and when they're useful.

  4. 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. 5

    Searching: Linear & Binary Search

    Linear search on any list, binary search on sorted data, and why O(log n) is so fast.

  6. 6

    Linked Lists

    Nodes and pointers, how linked lists sit in memory, singly/doubly/circular lists, and their operations.

  7. 7

    Stacks & Queues

    LIFO stacks and FIFO queues, their operations, implementations, and real-world uses.

  8. 8

    Hash Tables, Hash Sets & Hash Maps

    Hash functions, buckets and collisions, load factor, and O(1) lookups with sets and dictionaries.

  9. 9

    Trees & Traversal

    Tree terminology, binary trees, pre-order, in-order, and post-order traversal, and trees stored in arrays.

  10. 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. 11

    Graphs & Graph Traversal

    Vertices and edges, directed and weighted graphs, adjacency lists and matrices, DFS, BFS, and cycle detection.

  12. 12

    Shortest Paths & Minimum Spanning Trees

    Dijkstra's and Bellman-Ford shortest-path algorithms, and Prim's and Kruskal's minimum spanning trees.

  13. 13

    Maximum Flow

    Flow networks, capacities, the Ford-Fulkerson method, residual graphs, and Edmonds-Karp.

  14. 14

    Dynamic Programming

    Overlapping subproblems and optimal substructure, memoization, tabulation, and the 0/1 knapsack problem.

  15. 15

    Greedy & Classic Algorithms

    Greedy algorithms and when they work, the Euclidean algorithm, Huffman coding, and the traveling salesman problem.

Start learning — it's free →

DSA is free to study, self-paced. Pass the final exam to earn an optional Certificate of Completion for $40.