1. Naive Recursion
Intuition
Directly apply F(n) = F(n-1) + F(n-2) recursively.
Algorithm
- Define
fib(n). - If
n <= 1, returnn. - Return
fib(n - 1) + fib(n - 2).
#include <iostream> using namespace std; int fibRec(int n) { if (n <= 1) return n; return fibRec(n - 1) + fibRec(n - 2);} int main() { int n = 4; cout << "F(" << n << ") [Recursive]: " << fibRec(n) << endl; return 0;}Time & Space Complexity
- Time complexity:
O(2^n) - Space complexity:
O(n) call stack