YoVDO

Recursion in Programming - Full Course

Offered By: freeCodeCamp

Tags

Programming Courses Algorithms Courses Data Structures Courses Divide and Conquer Algorithms Courses Linked Lists Courses Recursion Courses String Manipulation Courses

Course Description

Overview

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

Related Courses

4ever-clojure
Independent
Algorithms for DNA Sequencing
Johns Hopkins University via Coursera
Advanced Data Structures, RSA and Quantum Algorithms
University of Colorado Boulder via Coursera
Conception et mise en œuvre d'algorithmes.
École Polytechnique via Coursera
مربع الأدوات الخوارزمية
University of California, San Diego via Coursera