-
Notifications
You must be signed in to change notification settings - Fork 30
Update README.md #15
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?
Update README.md #15
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 |
|---|---|---|
|
|
@@ -3,13 +3,13 @@ | |
| ## Definitions | ||
| Define the following: | ||
|
|
||
| - Recursion | ||
| - Recursive Case | ||
| - Base Case | ||
| - Activation Chain/Stack | ||
| - Activation Record/Call | ||
| - Infinite Recursion/Stack Overflow/Stack too deep | ||
| - Tail Recursion | ||
| - Recursion = method that calls itself within the method; the opposite of iterative | ||
| - Recursive Case = a problem that divides the problem into a smaller problem | ||
| - Base Case = a problem that can be solved immediately, it returns a result without recursion and is used to stop it | ||
| - Activation Chain/Stack = all of the individual recursive calculations for the given value (all of the "bubbles") | ||
| - Activation Record/Call = one stack frame, which is the memory used to store local variables; single invocation of a method (each of the "bubbles") | ||
| - Infinite Recursion/Stack Overflow/Stack too deep = the recuriosn would never stop, there is no base case | ||
| - Tail Recursion = a form of recursive programming, where the recursive call is the last call in any given 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. I didn't actually cover this in class - but may at a later time. |
||
|
|
||
| ## 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 | ||
|
|
@@ -110,7 +110,7 @@ def mystery6(s) | |
| end | ||
| ``` | ||
|
|
||
| - What is mystery6("goodnight moon")? | ||
| - What is mystery6("Ada Developers Academy")? | ||
| - What is mystery6("Hi, there!")? | ||
| - What is mystery6("goodnight moon")? "moon goodnight" | ||
| - What is mystery6("Ada Developers Academy")? "Developers Academy Ada" | ||
| - What is mystery6("Hi, there!")? "there! Hi," | ||
|
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. Minor, but notable: there should be a leading space on each of the answers " moon goodnight", " Academy Developers Ada", " there! Hi," |
||
| - _Added Fun: How could we make the reversal happen by letter, instead of by word (i.e. Make it so that mystery6("goodnight moon") returned "noom thgindoog")?_ | ||
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.
I wouldn't say "opposite of iterative" maybe "opposed to iterative"