Sunteți pe pagina 1din 27

Ministerul Educaiei a Republicii Moldova

Universitatea Tehnic a Moldovei


Facultatea Calculatoare, Informatic i Microelectronic
Catedra Automatica i Tehnologii Informaionale

Raport
Lucrarea de laborator Nr.1
La disciplina Analiza i Proiectarea Algoritmilor

Tema: Analiza algoritmilor

A efectuat

Chicu Roman

St.gr.TI-142

A verificat

Bagrin Veronica

Chiinu 2015
Scopul lucrrii: [1]
Analiza empiric a algoritmilor.
Analiza teoretic a algoritmilor.
Determinarea complexitii temporale i asimptotice a algoritmilor.
Sarcina de baz: [1]
1. Efectuai analiz empiric a algoritmilor propui.
2. Determinai relaia ce determin complexitatea temporal pentru aceti
algoritmi.
3. Determinai complexitatea asimptotic a algoritmilor.
4. Facei o concluzie asupra lucrrii efectuate.

Efectuarea lucrrii de laborator:


n cadrul lucrrii de laborator nr.1, a fost propus de a analiza irul lui Fibonacci
i algoritmii de determinare al unui n-termen din acest ir. Analiz empiric a
algoritmilor presupune studiul efectivitii acestora dupa doi parametri: timpul de
execuie a algoritmului i nr. de iteraii efectuate n cadrul acestuia.
A fost propus de a realiza un program n care se determin un n-termen din ir
prin fiecare algoritm(recursiv, iterativ, golden ratio), de execuie a acestora i nr. de
iteraii, iar datele finale vor fi comparate.
La rularea programului, se deschide urmtorul meniu:

n meniul respectiv, fiecare comand reprezint determinarea unui termen din


irul lui Fibonacci. Fiecare set de date obinut se va analiz i compara cu celelate
seturi. n continuare vor fi prezentate datele obinute, analiza crora se va efectua mai
trziu.

Afiearz datele pentru poziia 1 :

Afiearz datele pentru poziia 2 :

Afiearz datele pentru poziia 4:

Afiearz datele pentru poziia 8:

Afiearz datele pentru poziia 10:

Afiearz datele pentru poziia 20:

Afiearz datele pentru poziia 30:

Pentru a efectua analiza comparativ, timpul seturilor s-a introdus n urmtorul


tabel:
Deoarece datele sunt de ordin 10-3, timpul de execuie a fost mrit de 100 ori spre a
observa diferenele de timp a fiecrui algoritm.
t*0,01
1
2
4
8
10
20
30
32
33
34

Fib(1)
0.1
0
0
0
0
0
1,6
3,5
5,3
8,5

Fib(2)
Fib(3)
Fib(4)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.1
Tabelul 1. Analiza timpului de execuie

Conform datelor tabelului 1, a fost construit urmtoarea diagram:


10
t*10
9

8
7
6

Fib(1)

Fib(2)

Fib(3)

Fib(4)

2
1
0
1

10

20

30

32

33

34

Diagrama 1. Analiza timpului de execuie


Conform diagramei, se observ faptul c algoritmul recursiv nu necesit timp pentru a
calcula primii 20 termeni ai irului Fibonacci, ns ncepnd cu al 30-lea, tipul de
execuie se mrete, diferena ntre termenul 34 i 30 fiind de 6,9 sau 0,069 secunde.

Se observ c timpul de execuie a celorlali algoritmi este nul, deci ei nu necesit


timp pentru a calcula cel puin al 34-lea termen.

n urmtorul tabel, vor fi introduse datele privind nr. de iteraii realizate de


fiecare algoritm:
It.
1
2
4
8
10
20
30
32
33
34

Fib(1)
1
2
8
66
176
21890
2692536
7049154
11405772
18454928

Fib(2)
1
2
4
8
10
20
30
32
33
34

Fib(3)
Fib(4)
1
0
2
0
3
0
4
0
4
0
5
0
5
0
6
0
6
0
6
0
Tabelul 2. Analiza nr. de iteraii

Conform datelor tabelului 1, a fost construit urmtoarea diagram:


Nr.Iteraii
20000000
18000000
16000000
14000000
12000000

Fib(1)

10000000

Fib(2)
Fib(3)

8000000

Fib(4)

6000000
4000000
2000000
0
1

10

20

30

32

33

34

Diagrama 2. Analiza timpului de execuie


Conform diagramei, se observ c algoritmul recursiv, ncepnd cu termenul 30,
realizeaz iteraii ntr-un nr. de ordinul 107, care deja la temenul 33 este de ordinul 10 8,

deci nr. de iteraii va crete foarte rapid la calculul urmtorilor termeni ai irului.
Comparativ cu algoritmul recursiv, cel iterativ realizeaz la termenul 30 interaii n nr.
de 30, fiind de cca. 89751,2 ori mai rapid. Algoritmul nr.3 se dovedete a fi mult mai
eficient, realiznd doar 6 iteraii la calculul termenului 34, iar utilizarea seciunii de
aur, care nu efectueaz nici o iteraie, se dovedete a fi cea mai eficient metod.
Codul programului n C/C++:
Lab.cpp
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

#include "Fibonnaci.cpp"

using namespace std;

int main()
{
int op; int n1,n2,n3; //max 47
clock_t begin, end;
float time_spent,time_spent2,time_spent3,time_spent4;
int r=0;
menu:
system("cls");
printf("\n\
\n\

[ MENIU ]
Analiza Fibonnaci

\n\
\n\


%c\n\
[1] - Afiseaza datele pentru pozitia 1 \n\
[2] - Afiseaza datele pentru pozitia 2 \n\
[3] - Afiseaza datele pentru pozitia 4 \n\
[4] - Afiseaza datele pentru pozitia 8 \n\
[5] - Afiseaza datele pentru pozitia 10 \n\
[6] - Afiseaza datele pentru pozitia 20 \n\
[7] - Afiseaza datele pentru pozitia 30 \n\
[8] - Afiseaza datele pentru pozitia 32 \n\
[9] - Afiseaza datele pentru pozitia 33 \n\
[10] -Afiseaza datele pentru pozitia 34 \n\
[11]- Iesirea/Exit

\n\

\n",185);
printf("\t\t\t Comand: ");
cin>>op;
switch(op)
{

case 0: system("cls");getch(); exit(0);

case 1: system("cls");
n1=1;
// de adaugata inainte de fiecare
cout<<"Metoda Recursiei\n\n";
cout<<"Primul element este= >> ";
r=1;
begin = clock();
cout<<fib_1(n1,r);
end = clock();

time_spent = (double)(end - begin) / CLOCKS_PER_SEC;


cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de itinerati
este=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerari\n\n";
cout<<"Primul element este= >> ";
r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\Nr. de itinerati
este=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Primul element este=>> ";
r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati este=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Primul element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati este=>> "<<r;

getch();
break;

case 2: system("cls");
n1=2;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 2-a element este=>> ";
r=0;
begin = clock();
cout<<fib_1(n1,r);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de itinerati
este=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerarin\n";
cout<<"Al 2-a element este=>> ";
r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de
itinerati este=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\A 3-a Metoda\n\n";
cout<<"Al 2-a element este=>> ";
r=0;
begin = clock();

cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati este=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 2-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch();
break;

case 3: system("cls");
n1=4;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 4-a element este= >> ";
r=0;
begin = clock();
cout<<fib_1(n1,r);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";

cout<<"\n\nMetoda Itinerarin\n\n";
cout<<"Al 4-a element este=>> ";
r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Al 4-a element este=>> ";
r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 4-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch();
break;

case 4: system("cls");
n1=8;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 8-a element este=>> ";
r=0;
begin = clock();
cout<<fib_1(n1,r);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerarin\n\n";
cout<<"Al 8-a element este=>> ";r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\Timpul executiei este=>> "<<time_spent2<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\A 3-a Metoda\n\n";
cout<<"Al 8-a element este>> ";r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati=>> "<<r;

cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 8-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch();
break;

case 5: system("cls");
n1=10;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 10-a element este=>> ";r=0;
begin = clock();
cout<<fib_1(n1,r);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerari\n\n";
cout<<"Al 10-a element este=>> ";r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;

cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de


itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Al 10-a element este=>> ";r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 10-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch();
break;

case 6: system("cls");
n1=20;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 20-a element este=>> ";r=0;
begin = clock();
cout<<fib_1(n1,r);

end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerari\n\n";
cout<<"Al 20-a element este=>> ";r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Al 20-a element este=>> ";r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 20-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch(); break;

case 7: system("cls");
n1=30;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 30-a element este=>> ";r=0;
begin = clock();
cout<<fib_1(n1,r);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerari\n\n";
cout<<"Al 30-a element este=>> ";r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Al 30-a element este=>> ";r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati=>> "<<r;

cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 30-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch();
break;

case 8: system("cls");
n1=32;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 32-a element este=>> ";r=0;
begin = clock();
cout<<fib_1(n1,r);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerari\n\n";
cout<<"Al 32-a element este=>> ";r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;

cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de


itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Al 32-a element este=>> ";r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 32-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch();
break;

case 9: system("cls");
n1=33;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 33-a element este=>> ";r=0;
begin = clock();
cout<<fib_1(n1,r);

end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerari\n\n";
cout<<"Al 33-a element este=>> ";r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Al 33-a element este=>> ";r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda raportul de aur\n\n";
cout<<"Al 33-a element este=>> ";r=0;
begin = clock();
cout<<fib_4(n1,r);
end = clock();
time_spent4 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent4<<" \n\nNr. de
itinerati=>> "<<r;

getch();
break;

case 10: system("cls");


n1=34;

cout<<"Metoda Recursiei\n\n";
cout<<"Al 34-a element este=>> ";r=0;
begin = clock();
cout<<fib_1(n1,r);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nMetoda Itinerari\n\n";
cout<<"Al 34-a element este=>> ";r=0;
begin = clock();
cout<<fib_2(n1,r);
end = clock();
time_spent2 = (double)(end - begin) / CLOCKS_PER_SEC;
cout<<"\n\nTimpul executiei este=>> "<<time_spent2<<" \n\nNr. de
itinerati=>> "<<r;
cout<<"\n\n--------------------------";
cout<<"\n\nA 3-a Metoda\n\n";
cout<<"Al 34-a element este=>> ";r=0;
begin = clock();
cout<<fib_3(n1,r);
end = clock();
time_spent3 = (double)(end - begin) / CLOCKS_PER_SEC;

cout<<"\n\nTimpul executiei este=>> "<<time_spent3<<" \n\nNr. de


itinerati=>> "<<r;
cout<<"\n\n--------------------------";
case 11: exit(-1);}}
int t;

lab.cpp
#include <math.h>

while(n>0)
{

//Functions

if(n%2==1)

unsigned long fib_1(int n,int &r)

t=j*h;
j=i*h+j*k+t;

if (n<2) return n;

i=i*k+t;

else return fib_1(n-1,++r)+fib_1(n2,++r);


}
}
unsigned long fib_2(int n, int &r)

t=h*h;

h=2*k*h+t;
int i=1; unsigned long j=0; int k=0;

k=k*k+t;

for(k=1;k<=n;k++)

n=n/2;

++r;
j=i+j;

i=j-i;

return j;

++r;

}
return j;
}

unsigned long long int fib_4(int n, int


&r)
{

unsigned long fib_3(int n, int &r)


{
int i=1; unsigned long j=0; int
k=0,h=1;

return (unsigned long


((pow((1+sqrt(5)),n)-pow((1sqrt(5)),n))/ (pow(2,n)*sqrt(5)));
++r;
}

long)

Concluzii
n urma realizrii lucrrii de laborator nr.1, a fost efectuat analiza empiric a
algoritmilor de determinare a unui n-termen din irul Fibonacci. Analiznd rezultatele
a 10 seturi de date, s-au concluzionat urmtoarele:
1. Timpul pentru calculul termenilor de pn la 20 este nul pentru fiecare algoritm,
deci aceti termeni sunt relativ uori de calculat.
2. Conform timpului de execuie, cel mai ineficient algoritm este cel recursiv.
Pentru a calcula a 34-lea termen, a fost nevoie de 0,086 secunde, pe cnd ceilali
algoritmi practic nu necesit timp pentru calcul. Nu se poate demonstra care
dintre ceilali algoritmi este mai eficient, deoarece timpul de execuie este
practic nul.
3. Conform nr. de iteraii, cel mai ineficient algoritm este cel recursiv. Pentru
termenul 20, este nevoie de un nr. de interaii cu ordinul de 10 7. Cel mai eficient
se dovedete a fi algoritmul ce utilizeaz seciunea de aur, ce nu realizeaz
practic nici o iteraie.
4. Rezultatele analizei algoritmilor pot fi diferite pentru diferite calculatoare, o
influen deosebit de important avnd-o capacitatea de procesare a
calculatorului i memoria operativ a acestuia.
Bibliografie
1. Indicaii la lucrarea de laborator nr.1 , UTM 2015 (accesat 03.10.2015)