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)

S-ar putea să vă placă și

  • Et 0115040 Ron
    Et 0115040 Ron
    Document60 pagini
    Et 0115040 Ron
    Chicu Roman
    Încă nu există evaluări
  • TVPP Laborator NR 2
    TVPP Laborator NR 2
    Document7 pagini
    TVPP Laborator NR 2
    Chicu Roman
    Încă nu există evaluări
  • PSI ParteI V 30 09 2017
    PSI ParteI V 30 09 2017
    Document200 pagini
    PSI ParteI V 30 09 2017
    Chicu Roman
    Încă nu există evaluări
  • Et 0115040 Ron
    Et 0115040 Ron
    Document60 pagini
    Et 0115040 Ron
    Chicu Roman
    Încă nu există evaluări
  • AMSI Lab6
    AMSI Lab6
    Document12 pagini
    AMSI Lab6
    Chicu Roman
    Încă nu există evaluări
  • ManFin 2 Teme Macul
    ManFin 2 Teme Macul
    Document4 pagini
    ManFin 2 Teme Macul
    Mariana Rotaru
    Încă nu există evaluări
  • Baze de Date SQL
    Baze de Date SQL
    Document90 pagini
    Baze de Date SQL
    bettymihai
    Încă nu există evaluări
  • Raportul Practica
    Raportul Practica
    Document40 pagini
    Raportul Practica
    Chicu Roman
    Încă nu există evaluări
  • Baze de Date SQL
    Baze de Date SQL
    Document90 pagini
    Baze de Date SQL
    bettymihai
    Încă nu există evaluări
  • Analiza
    Analiza
    Document251 pagini
    Analiza
    Luminita Serban
    100% (16)
  • Tot Tabele
    Tot Tabele
    Document2 pagini
    Tot Tabele
    Chicu Roman
    Încă nu există evaluări
  • AMSI Lab 5
    AMSI Lab 5
    Document9 pagini
    AMSI Lab 5
    Chicu Roman
    Încă nu există evaluări
  • Biletele 11-12
    Biletele 11-12
    Document13 pagini
    Biletele 11-12
    Chicu Roman
    Încă nu există evaluări
  • Ministerul Educației A Republicii Moldova
    Ministerul Educației A Republicii Moldova
    Document12 pagini
    Ministerul Educației A Republicii Moldova
    Chicu Roman
    Încă nu există evaluări
  • AMSI Lab8
    AMSI Lab8
    Document7 pagini
    AMSI Lab8
    Chicu Roman
    Încă nu există evaluări
  • Lab 9
    Lab 9
    Document5 pagini
    Lab 9
    Chicu Roman
    Încă nu există evaluări
  • Exemplu de Bilet SDA
    Exemplu de Bilet SDA
    Document2 pagini
    Exemplu de Bilet SDA
    Chicu Roman
    Încă nu există evaluări
  • Tema 2 - Bilantul Bancar
    Tema 2 - Bilantul Bancar
    Document4 pagini
    Tema 2 - Bilantul Bancar
    Chicu Roman
    Încă nu există evaluări
  • AMSI - Lab3
    AMSI - Lab3
    Document4 pagini
    AMSI - Lab3
    Adrian Solomon
    Încă nu există evaluări
  • Managementul Interprinderii
    Managementul Interprinderii
    Document173 pagini
    Managementul Interprinderii
    CazacliuIon
    100% (8)
  • BDC Lab 2
    BDC Lab 2
    Document11 pagini
    BDC Lab 2
    Chicu Roman
    Încă nu există evaluări
  • AMSI Lab4
    AMSI Lab4
    Document12 pagini
    AMSI Lab4
    Chicu Roman
    Încă nu există evaluări
  • AMSI Lab4
    AMSI Lab4
    Document12 pagini
    AMSI Lab4
    Chicu Roman
    Încă nu există evaluări
  • Managementul Financiar Al Firmei
    Managementul Financiar Al Firmei
    Document8 pagini
    Managementul Financiar Al Firmei
    Mariana Shuba
    100% (1)
  • Management Financiar Fin
    Management Financiar Fin
    Document96 pagini
    Management Financiar Fin
    mishto
    Încă nu există evaluări
  • Management Financiar Curs
    Management Financiar Curs
    Document66 pagini
    Management Financiar Curs
    Angela_i
    83% (6)
  • AMSI Lab4
    AMSI Lab4
    Document6 pagini
    AMSI Lab4
    Chicu Roman
    Încă nu există evaluări
  • Raspunsuri
    Raspunsuri
    Document76 pagini
    Raspunsuri
    Chicu Roman
    Încă nu există evaluări
  • AMSI Lab3
    AMSI Lab3
    Document6 pagini
    AMSI Lab3
    Chicu Roman
    Încă nu există evaluări
  • AMSI - Lab3
    AMSI - Lab3
    Document4 pagini
    AMSI - Lab3
    Adrian Solomon
    Încă nu există evaluări