Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Recursion in Programming - Full Course

via freeCodeCamp

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Dive into a comprehensive course on recursion in programming, exploring its power to solve complex problems with elegant code. Learn what recursion is, when to use it, and examine various examples across different data structures. Through animations, debugging sessions, and call-stack analyses, gain a deep understanding of recursive principles. While the code examples are in Java, the concepts apply to any programming language. Cover topics like string manipulation, number conversions, divide-and-conquer algorithms, linked lists, trees, graphs, and optimization techniques such as memoization and tail-call recursion. By the end, master the art of implementing recursive solutions in your programming projects.

Syllabus

) Introduction.
) What Is Recursion?.
) Explaining Recursion via ATM Analogy.
) Explaining Recursion via Essay Revision Analogy.
) Summarizing What Recursion Is.
) Why & Why Not Recursion.
) Understanding The Call Stack.
) 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.
) 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.
) Conclusion.

Taught by

freeCodeCamp.org

Reviews

Start your review of Recursion in Programming - Full Course

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.