Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
afnan47
GitHub Repository: afnan47/sem7
Path: blob/main/DAA/1_Fibonacci_Numbers.cpp
418 views
1
#include<iostream>
2
#include<vector>
3
4
using namespace std;
5
6
//Iteratively using memoization
7
int iStepFibbonacci(int n){
8
vector<int> f;
9
f.push_back(0);
10
f.push_back(1);
11
//[]
12
int cnt = 2;
13
for(int i = 2; i < n; i++){
14
cnt++;
15
f.push_back(f[i - 1] + f[i - 2]);
16
}
17
return n;
18
}
19
20
int rSteps = 0;
21
22
//Recursively
23
int rStepFibbonacci(int n){
24
rSteps++;
25
if(n < 0) return 0;
26
if(n == 1 || n == 0) return 1;
27
return rStepFibbonacci(n - 1) + rStepFibbonacci(n - 2);
28
}
29
30
int main(){
31
int n;
32
cin >> n;
33
cout << "Fibbonacci Value : " << rStepFibbonacci(n) << '\n';
34
cout << "Steps required using Iteration : " << iStepFibbonacci(n) << '\n';
35
cout << "Steps required using recursion : " << rSteps << '\n';
36
return 0;
37
}
38
39
/*
40
Recursive fibbonacci:
41
Time Complexity: O(n*2n)
42
Auxiliary Space: O(n), For recursion call stack.
43
44
Iterative fibbonacci:
45
Time Complexity: O(n)
46
Auxiliary Space: O(1)
47
*/
48