| The bottom-up solution run in O(n) time instead of O(2^n) time, which the
recursive solution runs as:
```
def fib(n):
    return fib(n - 2) + fib(n - 1)
```
Remember that exponential algorithms are usually recursive algorithms with
multiple sibling calls to itself. | ||
|---|---|---|
| .. | ||
| bst-checker.py | ||
| linked-list-cycles.py | ||
| merge-sorted-arrays.py | ||
| nth-fibonacci.py | ||