CP114 Lecture 6: Lecture 6 - Recursion
Document Summary
Initialize everything (vars, parameters etc: define at least 1 base case. Meaning a function must stop when it reaches base case: define at least 1 general case. Meaning a condition where recursion occurs: recursive calls must move towards base case. Other it will end up as a infinite recursion: no loops. Ex) (general case) def recurse(value): if {base case condition is true}: # base case - recursion stops. ans = {base case value} else: # general case - make recursive call. ans = {general value} + recurse({changed value}) return ans. Simple ex) def find_sum(n): if n == 1: # general case. ans = n + find_sum(n - 1) return ans. 3 types of recursion: fruitful: returns a value def swap(data, i, j): temp = data[i] data[i] = data[j] data[j] = temp return. [5, 4, 3, 2, 1: tree: multiple recursive paths. 1 of the drawbacks of recursive it could use too much memory.