Setup and Introduction
  • Course Introduction
  • Quick Introduction to Runtime Analysis and big-O notation
  • Quick Introduction to C++ for Competitive Programmers
  • Introduction Quiz
Graphs I: Searching on Graphs
  • Introduction to Graphs (Terms and Representation)
  • The Depth-First-Search
  • The Breadth-First-Search
  • Topological Sorting
  • Graph Search Quiz
Graphs II: Shortest Paths
  • Dijkstra's Algorithm - Part 1: Understand
  • Dijkstra's Algorithm - Part 2: Analyse
  • Dijkstra's Algorithm - Part 3: Implement
  • Dijkstra's Algorithm Quiz
  • Negative Edges: Bellman-Ford Algorithm
  • All Distances: Floyd-Warshall Algorithm
  • Shortest Paths Quiz
Writing Faster Algorithms with Dynamic Programming
  • From Recursion to Memorization to Dynamic Programming
  • The Knapsack Problem
  • Dynamic Programming on Trees
  • Dynamic Programming Quiz