CS201

Data Structures & Algorithms

The core toolkit: measuring efficiency with Big-O, and the data structures — arrays, lists, stacks, hash tables, trees — that make software fast.

10 modules · 48 lessons · Practice after every lesson

Syllabus

  1. Module 1

    Algorithmic Foundations

    • From Problems to Abstract Data Types
    • Models of Computation and Cost
    • Asymptotic Notation: O, Ω, and Θ
    • Correctness Proofs, Invariants, and Induction
    • Recurrences and Amortized Analysis
  2. Module 2

    Linear Structures and Connectivity

    • Arrays, Memory Layout, and Locality
    • Dynamic Arrays and Sequence Abstractions
    • Linked Lists, Sentinels, Stacks, Queues, and Deques
    • Disjoint Sets and Union–Find
  3. Module 3

    Sorting and Selection

    • Sorting Contracts: Order, Stability, and Adaptivity
    • Insertion Sort and Elementary Methods
    • Merge Sort and Divide-and-Conquer
    • Quicksort, Partitioning, and Randomization
    • Heaps, Priority Queues, and Heapsort
    • Comparison Lower Bounds and Decision Trees
    • Linear-Time Sorting: Counting, Radix, and Buckets
    • Selection and Order Statistics
  4. Module 4

    Dictionaries, Hashing, and Probabilistic Filters

    • The Dictionary ADT and Hash Function Contracts
    • Separate Chaining and Load-Factor Analysis
    • Open Addressing, Probing, and Deletion
    • Universal Hashing and Adversarial Inputs
    • Bloom Filters and Approximate Membership
  5. Module 5

    Trees and Ordered Structures

    • Binary Trees, Traversals, and Structural Recursion
    • Binary Search Trees
    • AVL Trees and Rotations
    • Red–Black Trees and 2–3–4 Trees
    • Augmented Trees and Order Statistics
    • B-Trees and the External-Memory Model
    • Tries, Radix Trees, and String Dictionaries
  6. Module 6

    Graph Foundations

    • Graph Modeling and Representations
    • Breadth-First Search and Unweighted Shortest Paths
    • Depth-First Search, Edge Classification, and Topological Order
    • Strongly Connected Components
  7. Module 7

    Weighted Graph Algorithms

    • Dijkstra’s Algorithm
    • Bellman–Ford, Negative Edges, and Difference Constraints
    • All-Pairs Shortest Paths
    • Minimum Spanning Trees
    • Network Flow and Bipartite Matching
  8. Module 8

    Algorithm Design Paradigms

    • Greedy Algorithms and Exchange Arguments
    • Divide-and-Conquer Beyond Sorting
    • Dynamic Programming: States, Recurrences, and Evaluation Order
    • Sequence, DAG, and Interval Dynamic Programming
  9. Module 9

    Complexity, Approximation, and Search

    • Backtracking, Branch-and-Bound, and Exponential Search
    • Randomized Algorithms and Probabilistic Analysis
    • Reductions, P, NP, and NP-Completeness
    • Approximation Algorithms and Heuristics
  10. Module 10

    Algorithm Engineering and Synthesis

    • Algorithm Engineering: Constants, Caches, and Benchmarking
    • Choosing and Composing Algorithms

Start Data Structures & Algorithms.

No setup, nothing to install. Try the first lessons before you sign up.