Step 1: Initialize table with base cases: fib[0] = 0, fib[1] = 1
fib: [0, 1, _, _, _, _]
Why: We need starting points to build the rest
Step 2: Calculate fib[2] = fib[1] + fib[0] = 1 + 0 = 1
fib: [0, 1, 1, _, _, _]
Why: Each Fibonacci number depends on the two before it
Step 3: Calculate fib[3] = fib[2] + fib[1] = 1 + 1 = 2
fib: [0, 1, 1, 2, _, _]
Why: Build next value using previous results
Step 4: Calculate fib[4] = fib[3] + fib[2] = 2 + 1 = 3
fib: [0, 1, 1, 2, 3, _]
Why: Continue filling table step by step
Step 5: Calculate fib[5] = fib[4] + fib[3] = 3 + 2 = 5
fib: [0, 1, 1, 2, 3, 5]
Why: Final answer is at the last index
Result: fib: [0, 1, 1, 2, 3, 5]
Answer: 5