Python: Recursion
2h 10mIntermediate2021-02-18
Authors

Robin Andrews
Founder of Compucademy
Course details
Recursion is part of the very fabric of computer science and software development, and whether you rarely use it or if it’s a key part of your development, there’s a good chance recursion is happening behind the scenes. Recursion is a powerful tool in breaking down complex problems into more manageable segments, and knowledge of recursion is a desirable trait that employers look for in developer positions. In this course, Robin Andrews takes a deep dive into the concepts, techniques, and applications of recursion using Python. He starts with some real-world examples of recursion, and then shows how it pertains to software development. He covers classic recursive algorithms like factorials and Fibonacci numbers, before showing how to write recursive algorithms in Python through practice exercises. After completing this course, you will have a better idea of how to use recursive algorithms to solve a wide range of software development issues.
Skills covered
Programming FoundationsPythonProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - The power of recursion
- 02 - What you should know
- 03 - Working with GitHub
1. Introduction to Recursion
- 04 - The concept of recursion
- 05 - Why recursion is important
2. The Fundamentals of Recursion
- 06 - The ingredients of a recursive algorithm
- 07 - Recursion in action
- 08 - The factorial function - Iterative version
- 09 - A recursive factorial function
- 10 - Winding and unwinding the call stack in recursion
- 11 - Challenge - Fix the recursive algorithm
- 12 - Solution - The fundamentals of recursion
3. Classic Recursive Algorithms in Python
- 13 - Recursive Fibonacci function in Python
- 14 - Recursive sum function in Python
- 15 - Recursive greatest common divisor function in Python
4. Practice Writing Recursive Algorithms in Python
- 16 - Recursive multiplication algorithm in Python
- 17 - Recursive exponentiation algorithm in Python
- 18 - String length recursive algorithm
5. Sorting Data Using Recursion in Python
- 19 - Introduction to quicksort
- 20 - Coding the quicksort algorithm in Python
- 21 - Challenge - Check your understanding of quicksort
- 22 - Solution - Check your understanding of quicksort
6. Data Traversal Using Recursion
- 23 - Traversing a Linked List using recursion
- 24 - Traversing a tree using recursion - Overview
- 25 - Traversing a tree using recursion - Python implementation
- 26 - Challenge - Tree traversal
- 27 - Solution - Tree traversal
7. Optimizing Recursion in Python
- 28 - Memory considerations with recursive algorithms
- 29 - Memoization in Python
- 30 - Tail call optimization in Python
8. Drawing Fractals Using Recursion in Python
- 31 - H-tree fractal using Python Turtle graphics
- 32 - Sierpinski triangle
9. The Towers of Hanoi - A Classic Recursive Puzzle
- 33 - Introduction to the Towers of Hanoi puzzle
- 34 - Coding the Towers of Hanoi puzzle in Python
Conclusion
- 35 - Recursion vs. iteration
- 36 - Conclusion
Related courses
- Python Quick Start (2019)
- Python Quick Start
- Python Institute Certified Entry-Level Python Programmer (PCEP-30-02) Cert Prep
- Functional Programming with Python
- Programming Foundations: Algorithms
- Programming Foundations: Algorithms (2018)
- Grasshopper Essential Training (2017)
- Python: Advanced Design Patterns (2018)
Related learn paths
- Getting Started with Python
- Get Started with PHP
- Network Automation Professional Certificate by Arista Networks
- Become a Programmer: Foundations
- Advance Your Skills in the Hadoop/NoSQL Data Science Stack
- Explore App Development with the MERN Stack
- Master Python for Data Science
- Advance Your Skills in Python