Lecture Notes on 28 April 2014 * Given the following recurrence relation f(n) = 2 * f(n - 1) + 1 for n > 0 f(n) = 0 for n = 0 * Write a recursive function that returns the nth term in the series def func (n): if (n == 0): return 0 else: return 2 * func(n - 1) + 1 * What is f(8)? n f(n) 0 0 1 1 2 3 3 7 4 15 5 31 6 63 7 127 8 255 f(8) = 255 * Write an iterative version of the recursive function. def func_iter (n): sum = 0 for i in range (n): sum += 2 * sum + 1 return sum def func_alg (n): return 2 ** n - 1 * Recursive version of Fibonacci series def fib (n): if (n == 0) or (n == 1): return n else: return fib (n - 1) + fib (n - 2) * Iterative version of Fibonacci series def fib (n): if (n == 0) or (n == 1): return n f1 = 0 f2 = 1 f = f1 + f2 for i in range (n - 2): f1 = f2 f2 = f f = f1 + f2 return f