Step 1: Initialize fib array with fib[0]=0 and fib[1]=1
fib: [0, 1, ?, ?, ?, ?]
Why: Base cases are known and needed to build next numbers
Step 2: Calculate fib[2] = fib[1] + fib[0] = 1 + 0
fib: [0, 1, 1, ?, ?, ?]
Why: We use stored values to find next Fibonacci number
Step 3: Calculate fib[3] = fib[2] + fib[1] = 1 + 1
fib: [0, 1, 1, 2, ?, ?]
Why: Build next number using previous two
Step 4: Calculate fib[4] = fib[3] + fib[2] = 2 + 1
fib: [0, 1, 1, 2, 3, ?]
Why: Continue building sequence step-by-step
Step 5: Calculate fib[5] = fib[4] + fib[3] = 3 + 2
fib: [0, 1, 1, 2, 3, 5]
Why: Final Fibonacci number for n=5 found using stored results
Result: fib: [0, 1, 1, 2, 3, 5]
Answer: 5