← Back

Fibonacci

memoizationtabulationoverlapping-subproblems
Press play to start
1function fibonacci(n: number): number {
2 const dp: number[] = [0, 1]
3 for (let i = 2; i <= n; i++) {
4 dp[i] = dp[i - 1] + dp[i - 2]
5 }
6 return dp[n]
7}
Step 1/0
Custom array:

Complexity

Best:O(n)
Average:O(n)
Worst:O(n)
Space:O(n)

Description

Computes Fibonacci numbers using memoization (top-down) or tabulation (bottom-up), showing how DP eliminates redundant computation.

When to use

Demonstrates the core DP concept. Memoization vs tabulation trade-offs apply to many optimization problems.