Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RAPORT
Lucrare de laborator Nr.1
la Analiza si proiectarea Algoritmilor
Chisinau 2015
Tema:Analiza algoritmilor
Scopul lucrarii:
1. Analiza empirica a algoritmilor.
2. Analiza teoretica a algoritmilor.
3. Determinarea complexitatii temporale si asimptotice a algoritmilor.
Sarcina:
1. Efectuati analiza empirica a algoritmilor propusi.
2. Determinati relatia ce determina complexitatea temporala pentru acesti
algoritmi.
3. Determinati complexitatea asimptotica a algoritmilor.
4. Faceti o concluzie asupra lucrarii efectuate.
Textul Programului
#include<iostream>
#include<string.h>
#include<conio.h>
using namespace std;
int n;
int f(int n)
{
if(n==0) return 0;
else if(n==1) return 1;
else return f(n-1)+f(n-2);
}
int main()
{
cout<<"Introduceri ordinul termenului cautat n=";cin>>n;
cout<<"Termenul de ordin "<<n<<" este: "<<f(n)<<endl;
}
Textul Programului
#include<iostream>
#include<string.h>
#include<conio.h>
int i,s,n;
int f(int n)
{if(n<2)
return n;
else
for(i=2;i<=n;i++)
{return f(n-1)+f(n-2);}
}
int main()
{
cout<<"Introduceti ordinul termenului cautat n=";cin>>n;
cout<<"Termenul de ordin "<<n<<" este: "<<f(n)<<endl;
}
Textul Programului
#include<iostream>
#include<string.h>
#include<conio.h>
using namespace std;
int f(int n)
{
int i=1,j=0,k=0,h=1,t;
while(n>2){
if(n%2){t=j*h;
j=(i*h)+(j*k)+t;
i=(i*k)+t;
t=h*h;
h=(2*k*h)+t;
k=(k*k)+t;
n=n / 2;
return j;
}}}
int main()
{
cout<<"Introduceti ordinul termenului cautat n=";cin>>n;
cout<<"Termenul de ordin "<<n<<" este: "<<f(n)<<endl;
}
Diagrama de iteratii
3000000
2500000
2000000
fib1
1500000
fib2
1000000 fib3
500000
0
1 2 4 8 10 20 30