Memoizing Fibonacci Numbers
In the last lesson, we introduced the basic concept of dynamic programming and its two patterns: memoization and tabulation.
In the first lesson of this chapter, we established that the recursive implementation of the Fibonacci sequence causes calculations, which result in exponential time complexity.
Let’s memoize the code now and see where that leads us. The basic idea is to check if an array already contains the result of the Fibonacci number that we are trying to find before calculating it.
Have a look at the complete code in Java: