Chapters (42)
- 0:00Introduction
- 0:42What Is Recursion?
- 0:50Explaining Recursion via ATM Analogy
- 4:56Explaining Recursion via Essay Revision Analogy
- 6:22Summarizing What Recursion Is
- 7:15Why & Why Not Recursion
- 10:57Understanding The Call Stack
- 11:32Call Stack Analogy
- 16:35Recursion With Strings Introduction
- 16:50String Reversal Explanation
- 20:47String Reversal Call Stack Animation
- 22:59Palindrome Explanation
- 25:46Palindrome Call Stack Animation
- 27:46Recursion With Numbers
- 28:02Decimal To Binary Explanation
- 31:12Decimal To Binary Code & Debug
- 34:33Sum of Natural Numbers Explanation
- 36:17Sum of Natural Numbers Code & Debug
- 38:51Divide & Conquer Algorithms
- 39:27Binary Search Animation & Explanation
- 43:50Fibonacci Explanation
- 45:54Fibonacci Animation
- 49:07Merge Sort Explanation & Animation
- 53:21Merge Sort Code & Debug
- 1:09:36Linked Lists
- 1:09:49Linked List Reversal Animation
- 1:14:48Linked List Code & Debug
- 1:19:52Merge Two Sorted Linked Lists Animation
- 1:25:53Merge Two Sorted Linked Lists Code & Debug
- 1:29:02Trees
- 1:29:14Insert Value Into Binary Search Tree Animation
- 1:31:32Insert Value Into Binary Search Tree Code Walkthrough
- 1:33:43Insert Value Into Binary Search Tree Call Stack Animation
- 1:35:11Print All Leaf Nodes Explanation
- 1:37:02Print All Leaf Nodes Code & Debug
- 1:41:09Graphs
- 1:41:21Depth-First Search Animation
- 1:42:58Depth-First Search Code Walkthrough
- 1:45:38Recursion Optimizations
- 1:45:44Memoization & Caching
- 1:47:59Tail-Call Recursion
- 1:50:48Conclusion
Show the creator's full description
Recursion is a powerful technique that helps us bridge the gap between complex problems being solved with elegant code. Within this course, we will break down what recursion is, why you would and wouldn’t want to use it and look at a variety of examples for how it can be used.
We’ll break down recursion with all sorts of data-structures, animations, debugging and call-stack analysis to get a deeper understanding to these principles.
The code is written in Java, but the principles are agnostic to any language.
✏️ This course was developed by The Simple Engineer. Find him online:
🔗 https://youtube.com/TheSimpleEngineer
🔗 https://www.patreon.com/thesimpleengineer
⭐️ Course Contents ⭐️
⌨️ (0:00:00) Introduction
⌨️ (0:00:42) What Is Recursion?
⌨️ (0:00:50) Explaining Recursion via ATM Analogy
⌨️ (0:04:56) Explaining Recursion via Essay Revision Analogy
⌨️ (0:06:22) Summarizing What Recursion Is
⌨️ (0:07:15) Why & Why Not Recursion
⌨️ (0:10:57) Understanding The Call Stack
⌨️ (0:11:32) Call Stack Analogy
⌨️ (0:16:35) Recursion With Strings Introduction
⌨️ (0:16:50) String Reversal Explanation
⌨️ (0:20:47) String Reversal Call Stack Animation
⌨️ (0:22:59) Palindrome Explanation
⌨️ (0:25:46) Palindrome Call Stack Animation
⌨️ (0:27:46) Recursion With Numbers
⌨️ (0:28:02) Decimal To Binary Explanation
⌨️ (0:31:12) Decimal To Binary Code & Debug
⌨️ (0:34:33) Sum of Natural Numbers Explanation
⌨️ (0:36:17) Sum of Natural Numbers Code & Debug
⌨️ (0:38:51) Divide & Conquer Algorithms
⌨️ (0:39:27) Binary Search Animation & Explanation
⌨️ (0:43:50) Fibonacci Explanation
⌨️ (0:45:54) Fibonacci Animation
⌨️ (0:49:07) Merge Sort Explanation & Animation
⌨️ (0:53:21) Merge Sort Code & Debug
⌨️ (1:09:36) Linked Lists
⌨️ (1:09:49) Linked List Reversal Animation
⌨️ (1:14:48) Linked List Code & Debug
⌨️ (1:19:52) Merge Two Sorted Linked Lists Animation
⌨️ (1:25:53) Merge Two Sorted Linked Lists Code & Debug
⌨️ (1:29:02) Trees
⌨️ (1:29:14) Insert Value Into Binary Search Tree Animation
⌨️ (1:31:32) Insert Value Into Binary Search Tree Code Walkthrough
⌨️ (1:33:43) Insert Value Into Binary Search Tree Call Stack Animation
⌨️ (1:35:11) Print All Leaf Nodes Explanation
⌨️ (1:37:02) Print All Leaf Nodes Code & Debug
⌨️ (1:41:09) Graphs
⌨️ (1:41:21) Depth-First Search Animation
⌨️ (1:42:58) Depth-First Search Code Walkthrough
⌨️ (1:45:38) Recursion Optimizations
⌨️ (1:45:44) Memoization & Caching
⌨️ (1:47:59) Tail-Call Recursion
⌨️ (1:50:48) Conclusion
🎉 Thanks to our Champion and Sponsor supporters:
👾 Wong Voon jinq
👾 hexploitation
👾 Katia Moran
👾 BlckPhantom
👾 Nick Raker
👾 Otis Morgan
👾 DeezMaster
👾 Treehouse
👾 AppWrite
--
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
❤️ Support for this channel comes from our friends at Scrimba – the coding platform that's reinvented interactive learning: https://scrimba.com/freecodecamp
Description and video by freeCodeCamp.org. This page is an independent companion view; the video is embedded from YouTube.