Python: Recursion

Python: Recursion

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 10m | 397 MB

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.

Table of Contents

Introduction
1 The power of recursion
2 What you should know
3 Working with GitHub

Introduction to Recursion
4 The concept of recursion
5 Why recursion is important

The Fundamentals of Recursion
6 The ingredients of a recursive algorithm
7 Recursion in action
8 The factorial function Iterative version
9 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

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

Practice Writing Recursive Algorithms in Python
16 Recursive multiplication algorithm in Python
17 Recursive exponentiation algorithm in Python
18 String length recursive algorithm

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

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

Optimizing Recursion in Python
28 Memory considerations with recursive algorithms
29 Memoization in Python
30 Tail call optimization in Python

Drawing Fractals Using Recursion in Python
31 H-tree fractal using Python Turtle graphics
32 Sierpinski triangle

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