-
Notifications
You must be signed in to change notification settings - Fork 30
Marisol Lopez - Recursion Tracing #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,15 @@ | ||
| # Recursion Problems | ||
|
|
||
| ## Definitions | ||
| Define the following: | ||
| Define the following: | ||
|
|
||
| - Recursion | ||
| - Recursive Case | ||
| - Base Case | ||
| - Activation Chain/Stack | ||
| - Recursion: Describes when we have a method that calls itself. | ||
| - Recursive Case: A part of the method that happens over and over again. | ||
| - Base Case: The situation for which the solution can be states non-recursively. | ||
| - Activation Chain/Stack: The chain that results when going through recursive method. | ||
| - Activation Record/Call | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. One individual call to a method. |
||
| - Infinite Recursion/Stack Overflow/Stack too deep | ||
| - Tail Recursion | ||
| - Infinite Recursion/Stack Overflow/Stack too deep: When a method will never stop because it will never satisfy method. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When a method will never stop because it will never satisfy a base case |
||
| - Tail Recursion: Recursive call is the last thing executed by the function | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We didn't go over this in class. We may cover it later, but in this moment, it's not important that you know this. |
||
|
|
||
| ## Tracing through a recursive method | ||
|
|
||
|
|
@@ -24,9 +24,9 @@ def mystery1(n) | |
| end | ||
| ``` | ||
|
|
||
| - What is mystery1(5)? | ||
| - What is mystery1(10)? | ||
| - What is mystery1(0)? | ||
| -What is mystery1(5) = 15 | ||
| -What is mystery1(10) = 55 | ||
| -What is mystery1(0) = Infinite Recursion | ||
|
|
||
| ### Trace #2 | ||
| ``` | ||
|
|
@@ -39,9 +39,9 @@ def mystery2(n) | |
| end | ||
| ``` | ||
|
|
||
| - What is mystery2(123)? | ||
| - What is mystery2(9005)? | ||
| - What is mystery2(-123)? | ||
| -What is mystery2(123) = 6 | ||
| -What is mystery2(9005) = 14 | ||
| -What is mystery2(-123) = -123 | ||
| - _Added Fun: How could we make `mystery2(-123)` work the way we might expect it to work instead of the way it does?_ | ||
|
|
||
| ### Trace #3 | ||
|
|
@@ -60,9 +60,9 @@ def mystery3(n) | |
| end | ||
| ``` | ||
|
|
||
| - What is mystery3(1)? | ||
| - What is mystery3(13)? | ||
| - What is mystery3(-6)? | ||
| -What is mystery3(1) = 100 | ||
| -What is mystery3(13) = 100 | ||
| -What is mystery3(-6) = 200 | ||
|
|
||
| ### Trace #4 | ||
| ``` | ||
|
|
@@ -75,9 +75,9 @@ def mystery4(b,e) | |
| end | ||
| ``` | ||
|
|
||
| - What is mystery4(10,2)? | ||
| - What is mystery4(4,3)? | ||
| - What is mystery4(5,0)? | ||
| -What is mystery4(10,2) = 100 | ||
| -What is mystery4(4,3) = 64 | ||
| -What is mystery4(5,0) = 1 | ||
|
|
||
| ### Trace #5 | ||
| ``` | ||
|
|
@@ -90,9 +90,9 @@ def mystery5(s) | |
| end | ||
| ``` | ||
|
|
||
| - What is mystery5("hi")? | ||
| - What is mystery5("")? | ||
| - What is mystery5("Hi, there!")? | ||
| -What is mystery5("hi") = "**" | ||
| -What is mystery5("") = "" | ||
| -What is mystery5("Hi, there!") = "**********" | ||
| - _Added Fun: How could we make only alphabetic characters to be changed to stars?_ | ||
|
|
||
| ### Trace #6 | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The part of the method that calls itself, rather.