Programming Throwdown

Patrick Wheeler and Jason Gauci


Episode 163 - Recursion


Intro topic: Electric Cars


News/Links:


Book of the Show



Tool of the Show
Topic: Recursion

  • What is it
    • Divide-And-Conquer
    • Fibonacci numbers
  • How to (not) teach recursion
  • Practical Applications
    • Graph operations
      • Tree retrieval, balancing
      • Graph Search
    • Spatial partitioning
  • Pitfalls
    • Stack size
  • How to solve problems with recursion
    • (1) Consider the base cases
    • (2) Build the recursive step
    • (3) Look for ways the recursion will not terminate and fix
    • (4) (rest are optional) Remove global contexts
    • (5) Add memoization
    • (6) Build solutions incrementally