Programming Throwdown
Patrick Wheeler and Jason Gauci
Episode 163 - Recursion
Intro topic: Electric Cars
News/Links:
- Snake Game in 101 Bytes in a QR Code
 - Superconductor Rumors abound
 - OpenWorm
 - Creator of vim passes away
 
Book of the Show
- Patrick:
- Little Book of Common Sense Investing by Jack Bogle https://amzn.to/43YqANR
 
 - Jason: 
- Mistborn Saga: https://amzn.to/3DJkUN8
 
 
Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h
Tool of the Show
- Jason:
- reMarkable https://remarkable.com/
 
 - Patrick: 
- Stellarium (iOS and Android)
 
 - Stellarium (iOS and Android)
 
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
 
 - Graph operations
 - 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