I am trying to figure out time difference between iterative and recursive function but I am not able to even find out difference between for loop. Anyone has any idea about this ??
int main (){
//int arr[7] = {1,2,3,4,5,6,7};
ll arr[100000];
unsigned __int64 one = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
for (ll i = 0; i < 100000; i++)
{
arr[i]=i+1;
}
unsigned __int64 two = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
// int a=binSearchRecursive(arr,6755,0,10000);
// int b=binSearchIter(arr,6755,0,10000);
// unsigned __int64 three = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
cout << "Recursive :"<< one << " " <<two <<endl;
cout << "Iterative :" <<two-one << std :: endl;
// cout <<a<<" " << b ;
return 0;
}
Output -
Recursive :1635504404011 1635504404011
Recursive :0
I just added 2nd loop to replace existing values
int main (){
//int arr[7] = {1,2,3,4,5,6,7};
ll arr[100000];
unsigned __int64 one = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
for (ll i = 0; i < 100000; i++)
{
arr[i]=i*3;
}
for (long long i = 0; i < 100000; i++)
{
arr[i]=arr[i]*arr[i+1];
}
unsigned __int64 two = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
// int a=binSearchRecursive(arr,6755,0,10000);
// int b=binSearchIter(arr,6755,0,10000);
// unsigned __int64 three = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
//cout << "Recursive :"<< one << " " <<two <<endl;
cout << "Recursive :"<< two-one <<endl;
//int b = arr[23423] + arr[73432];
//cout << "Iterative :" << three- two << std :: endl;
// cout <<a<<" " << b ;
return 0;
}
Now I am getting output as -
Recursive :1029000
So which difference is this ?? Is it for both loops or just for 1st ??