Ce este analiza algoritmului?

Analiza algoritmilor este un domeniu al informaticii care este dedicat intelegerii complexitatii algoritmilor. Algoritmii sunt în general definiți ca procese care efectuează o serie de operații până la un final. Algoritmii pot fi exprimați în multe moduri, în diagrame de flux, un limbaj natural și limbaje de programare pentru computer. Algoritmii sunt folosiți în matematică, calcul și lingvistică, dar cea mai frecventă utilizare este în calculatoare pentru a face calcule sau a procesa date. Analiza algoritmilor se ocupă de algoritmi scriși în limbaje de programare pentru computer, care se bazează pe formalism matematic

Un algoritm este în esență un set de instrucțiuni pentru ca un computer să efectueze un calcul într-un anumit mod. De exemplu, un computer ar folosi un algoritm pentru a calcula salariul unui angajat. Pentru ca computerul să efectueze calculele, are nevoie de date adecvate introduse în sistem, cum ar fi salariul angajatului și numărul de ore lucrate.

Mai mult de un algoritm poate funcționa pentru a efectua aceeași operație, dar unii algoritmi folosesc mai multă memorie și durează mai mult decât alții. De asemenea, de unde știm cât de bine funcționează algoritmii în general, având în vedere diferențele dintre computere și intrările de date? Aici intervine analiza algoritmului.

O modalitate de a testa un algoritm este să rulați un program de calculator și să vedeți cât de bine funcționează. Problema cu această abordare este că ne spune doar cât de bine funcționează algoritmul cu un anumit computer și un set de intrări. Scopul analizei algoritmului este de a testa și apoi de a trage concluzii despre cât de bine funcționează un anumit algoritm în general. Acest lucru ar fi foarte dificil și consumator de timp de realizat pe computere individuale, așa că cercetătorii elaborează modele de funcționare a computerului pentru a testa algoritmi.

În general, analiza algoritmilor este cea mai preocupată de a afla cât timp durează un program pentru a rula și de cât spațiu de stocare în memorie are nevoie pentru a executa programul. În special, informaticienii folosesc analiza algoritmilor pentru a determina modul în care datele imputate într-un program îi afectează timpul total de rulare, cât spațiu de memorie are nevoie computerul pentru datele programului, cât spațiu ocupă codul programului în computer, dacă un algoritm produce corect calcule, cât de complex este un program și cât de bine se descurcă cu rezultate neașteptate.