recursion
play

Recursion Calling a Function from Within Itself C-START Python PD - PowerPoint PPT Presentation

Recursion Calling a Function from Within Itself C-START Python PD Workshop C-START Python PD Workshop Recursion Recursion: What is it? Recursive functions are functions which rely on themselves to calculate part of the answer. Recursive


  1. Recursion Calling a Function from Within Itself C-START Python PD Workshop C-START Python PD Workshop Recursion

  2. Recursion: What is it? Recursive functions are functions which rely on themselves to calculate part of the answer. Recursive functions usually have a base case that causes the recursion to end. Here is an example as a story: A child couldn’t sleep, so her mother told a story about a little frog, who couldn’t sleep, so the frog’s mother told a story about a little bear, who couldn’t sleep, so the bear’s mother told a story about a little weasel ...who fell asleep. ...and the little bear fell asleep; ...and the little frog fell asleep; ...and the child fell asleep. C-START Python PD Workshop Recursion

  3. Recursion: What is it? Base Case A child couldn’t sleep, so her mother told a story about a little frog, who couldn’t sleep, so the frog’s mother told a story about a little bear, who couldn’t sleep, so the bear’s mother told a story about a little weasel ...who fell asleep. ...and the little bear fell asleep; ...and the little frog fell asleep; ...and the child fell asleep. C-START Python PD Workshop Recursion

  4. Recursion: What is it? Recursive Part A child couldn’t sleep, so her mother told a story about a little frog, who couldn’t sleep, so the frog’s mother told a story about a little bear, who couldn’t sleep, so the bear’s mother told a story about a little weasel ...who fell asleep. ...and the little bear fell asleep; ...and the little frog fell asleep; ...and the child fell asleep. C-START Python PD Workshop Recursion

  5. Recursive Functions in Python Consider the factorial operation. We could defjne this recursively as: Base case: Recursive part: n n n To code this as a recursive function in Python, we could do: def fact(n): if n == 0: # base case return 1 return n*fact(n-1) # recursive part C-START Python PD Workshop Recursion n ! = n × ( n − 1) × ( n − 2) × · · · × 1

  6. Recursive Functions in Python Consider the factorial operation. We could defjne this recursively as: To code this as a recursive function in Python, we could do: def fact(n): if n == 0: # base case return 1 return n*fact(n-1) # recursive part C-START Python PD Workshop Recursion n ! = n × ( n − 1) × ( n − 2) × · · · × 1 Base case: 0! = 1 Recursive part: n ! = n ( n − 1)!

  7. Recursive Functions in Python Consider the factorial operation. We could defjne this recursively as: To code this as a recursive function in Python, we could do: def fact(n): if n == 0: # base case return 1 return n*fact(n-1) # recursive part C-START Python PD Workshop Recursion n ! = n × ( n − 1) × ( n − 2) × · · · × 1 Base case: 0! = 1 Recursive part: n ! = n ( n − 1)!

  8. Recursion in Practicality: Euclid’s GCD The GCD of a and b is: More info about why this is so can be found at https://en.wikipedia.org/wiki/Euclidean_algorithm Implementation in Python: def gcd(a, b): if b == 0: # base case return a return gcd(b, a % b) # recursive part C-START Python PD Workshop Recursion a if b = 0 gcd ( b , a mod b ) otherwise

  9. Recursion in Practicality: Euclid’s GCD The GCD of a and b is: More info about why this is so can be found at https://en.wikipedia.org/wiki/Euclidean_algorithm Implementation in Python: def gcd(a, b): if b == 0: # base case return a return gcd(b, a % b) # recursive part C-START Python PD Workshop Recursion a if b = 0 gcd ( b , a mod b ) otherwise

  10. Practice: Fibonacci Numbers Try it yourself: Implement a Python function which calcu- lates the n -th Fibonacci number recursively. C-START Python PD Workshop Recursion The n -th Fibonacci number, F ( n ) , is: n if n = 0 or n = 1 F ( n − 1) + F ( n − 2) otherwise

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend