![163: Recursion - podcast episode cover](https://img.transistor.fm/LQjfi3_mIr7D9vqkgqI8ZGQ7caKSSvvzdsR99UWSDnc/rs:fill:3000:3000:1/q:60/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzE0NTg0Mjkv/MTY5MTc5MjMwNS1h/cnR3b3JrLmpwZw.jpg)
Episode description
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)
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