Question: Please following the instructions below using Python. Use the following code: File: fib.py Project 3.6 Employs memoization to improve the efficiency of recursive Fibonacci.
Please following the instructions below using Python.

Use the following code:
"""
File: fib.py
Project 3.6
Employs memoization to improve the efficiency of recursive Fibonacci.
"""
def fib(n, table):
"""Fibonacci function with a table for memoization."""
if :
else:
# Attempt to get values for n - 1 and n - 2
# from the table
# If unsuccessful, recurse and add results to
# the table
def main():
"""Tests the function with some powers of 2."""
problemSize = 2
print("%4s%12s" % ("n", "fib"))
for count in range(5):
print("%4d%12d" % (problemSize, fib(problemSize, {})))
problemSize *= 2
if __name__ == "__main__":
main()
Instructions Modify the recursive Fibonacci function to employ the memoization technique discussed in this chapter. 1. The function should expect a dictionary as an additional argument. The top-level call of the function receives an empty dictionary. 2. The function's keys and values should be the arguments and values of the recursive calls. 3. Use the counter object discussed in this chapter to count the number of recursive calls
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
