Recursion Basics
  • Self-Similarity
  • Recursion
  • Intro to Recursive Algorithms
  • Fibonacci Number
  • Decision Trees
  • Big O Space and Time Complexity of Recursive Algorithms
  • Two Types of Recursive Algorithms
Self-Similar Algorithms
  • Intro to Self-Similar Algorithms
  • Gauss Sum
  • Self-Similar Tree Algorithms
  • Max Depth
  • Max Path Sum
  • Self-Similar Thief Algorithms
  • End of Chain Algorithms
  • Length of Longest Increasing Subsequence
Decision Tree Algorithms
  • Intro to Decision Tree Algorithms
  • Unique Paths
  • Backtracking Algorithms
  • N Queens
  • Summation Algorithms
  • Ways to Make Change - permutation
  • Permutations and Combinations
  • Ways to Make Change - combination
Dynamic Programming
  • Intro to Dynamic Programming
  • Lazy House Robber Decision Tree Algorithm
  • Lazy House Robber Self-Similar Algorithm
  • Lazy House Robber
  • Overlapping Subproblems and Memoization
  • Tabulation and Recursive Algorithm Unification
  • Lazy House Robber (Dynamic Programming)
  • Big O Space and Time Complexity of Dynamic Programming
  • Tabulation Space Complexity Improvement
  • Fibonacci Number (Tabulation)
  • Length of Longest Increasing Subsequence (Tabulation)
  • Unique Paths (Memoization)
  • Ways to Make Change - combination (Tabulation)