Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 1.49 KB

Recursion.md

File metadata and controls

86 lines (61 loc) · 1.49 KB

Recursion

##Goals##

  • Familiarity with recursion
    • Tail Recursion
    • Understanding of stack space
    • Familiarity with recursion
      • Familiarity with recursion
        • Familiarity with recursion

##Resources##

##Fibonacci Recursion## Time Limit: 15 minutes
Completion Target: 5 minutes
###Exercise### Given a number n, return a list containing a sequence of n fibonacci numbers starting with 1. This should be implemented recursively.

Advanced:
Return only the nth fibonacci number, using recursion

Examples:
5 -> [1,1,2,3,5]
7 -> [1,1,2,3,5,8,13]
9 -> [1,1,2,3,5,8,13,21,34]

Solutions:

x = 5

##Recursive List Length## Time Limit: 15 minutes
Completion Target: 5 minutes
###Exercise### Given a list, return it's length using recursion

Examples:
[9,5,6,7,8] -> 5
['1', 'a', '15', 55, 99, 'qux', 'baz'] -> 7

Solutions:

x = 5

##Recursive List Reverse## Time Limit: 25 minutes
Completion Target: 10 minutes
###Exercise### Given a list, return a reversed copy of that list, using recursion

Examples:
[5,4,3,2,1] -> [1,2,3,4,5]
['a', 'b', 'c'] -> ['c', 'b', 'a']

Solutions:

x = 5

##Recursive List Find## Time Limit: 20 minutes
Completion Target: 5 minutes
###Exercise### Given a list and a value to search for, return the index of that value, using recursion

Examples:
[7,8,9,10,11,12,13,14], 10 -> 3
['a', 'b', 'c', 'd', 'e', 'f'], 'e' -> 4

Solutions:

x = 5