from The Simple Engineer via freeCodeCamp.org
- What Is Recursion? Chapter 1
- Explaining Recursion via ATM Analogy
- Explaining Recursion via Essay Revision Analogy
- Summarizing What Recursion Is
- Why & Why Not Recursion
- Understanding The Call Stack Chapter 2
- Call Stack Analogy
- Recursion With Strings Introduction
- String Reversal Explanation
- String Reversal Call Stack Animation
- Palindrome Explanation
- Palindrome Call Stack Animation
- Recursion With Numbers
- Decimal To Binary Explanation
- Decimal To Binary Code & Debug
- Sum of Natural Numbers Explanation
- Sum of Natural Numbers Code & Debug
- Decimal To Binary Explanation
- Divide & Conquer Algorithms
- Binary Search Animation & Explanation
- Fibonacci Explanation
- Fibonacci Animation
- Merge Sort Explanation & Animation
- Merge Sort Code & Debug
- Linked Lists
- Linked List Reversal Animation
- Linked List Code & Debug
- Merge Two Sorted Linked Lists Animation
- Merge Two Sorted Linked Lists Code & Debug
- Trees
- Insert Value Into Binary Search Tree Animation
- Insert Value Into Binary Search Tree Code Walkthrough
- Insert Value Into Binary Search Tree Call Stack Animation
- Print All Leaf Nodes Explanation
- Print All Leaf Nodes Code & Debug
- Graphs
- Depth-First Search Animation
- Depth-First Search Code Walkthrough
- Recursion Optimizations
- Memoization & Caching
- Tail-Call Recursion