Enrol to start learning
Reading is open to everyone. Enrolling is free, and it is what unlocks the audio lessons, practice tests and progress tracking.
24.1.1. Lecture - 45
This section
Practice test
11 questions on this section. Wrong answers show you what to read again.
Sign up to take itWhole chapter
Revision test
Mixed questions from across the chapter. Your answers get marked.
Sign up to take itQuick
Flashcard drill
3 cards from this lesson. Good the night before a test.
Try these first
- 1.
What is a recursive function?
Hint
Think of how factorials are computed.
- 2.
What is memoization?
Hint
Remember it helps avoid repeated calculations.
- 3.
What is the time complexity of naive recursive Fibonacci?
- O(n)
- O(log n)
- O(2^n)
Hint
Consider how many calls are made in a recursion tree.
- 4.
True or False: Memoization can reduce the time complexity of recursive functions.
- True
- False
Hint
Remember how it stores values.
- 5.
Using dynamic programming, create an algorithm to compute the nth Fibonacci number and count how many times the function was called.
Hint
Use an array to hold computed Fibonacci values and loop through for the final result.
- 6.
Propose a new recursive function incorporating memoization to compute the nth Fibonacci number in Python. Show the implementation.
Hint
Choose a dictionary to map inputs to Fibonacci results.
Exercises
Total Questions
2
Estimated Time
4 min
Passing Score
70%
Instructions
- Read each question carefully
- You can use hints if you need help
- Complete all questions before submitting
4 more questions available
Enrol freeQuiz
Total Questions
2
Estimated Time
4 min
Passing Score
70%
Instructions
- Read each question carefully
- You can use hints if you need help
- Complete all questions before submitting
1 more question available
Enrol freeChallenge Problems
Total Questions
2
Estimated Time
4 min
Passing Score
70%
Instructions
- Read each question carefully
- You can use hints if you need help
- Complete all questions before submitting