Algoritmi și Structuri de Date

Previzualizare curs:

Extras din curs:

ALGORITMI. METODE DE DESCRIERE A ALGORITMILOR

1.1 Scurt istoric

În secolul al IX-lea d.Hr., un matematician persan, Abu Abdullah Muhammed bin Musa al-Khwarizmi a scris o lucrare despre efectuarea calculelor numerice într-o manieră algebrică, “Liber algorithmi”, unde “algorithm” provine de la al-Khwarizmi ceea ce înseamnă “din oraşul Kwarizm”, azi oraşul Kiwa din Uzbechistan. Acest autor, ca şi alti matematicieni ai evului mediu inţelegeau prin algoritm o regulă pe baza căreia se pot efectua calcule matematice.

Multă vreme conceptul de algoritm rămâne cu o întrebuinţare destul de restrânsă chiar şi în matematică. Către sfârşitul secolului al XIX-lea (1886-1888) Kronecker şi Dedekind introduc în matematică funcţiile recursive în care conceptul de algoritm este strâns legat de cel de recursivitate. Abia în secolul XX, în deceniile 3 şi 4, prin lucrările matematicienilor Skolem, Ackerman, Sudan, Gödel, Church, Kleene, Turing şi alţii, teoria algoritmilor şi recursivităţii se constituie ca atare.

Astăzi, ca rezultat al conexiunii dintre algoritm şi calculator, gândirea algoritmică s-a transformat dintr-un instrument matematic particular, într-o modalitate fundamentală de abordare a problemelor din diverse domenii, folosit pentru a descrie într-o manieră ordonată activităţi care constau în parcurgerea unei succesiuni de paşi (cum este de exemplu utilizarea unui telefon public sau realizarea unei reţete gastronomice).

Algoritmul este considerat noţiunea fundamentală a informaticii. În informatică, prin algoritm se poate înţelege o metodă prin care se descriu paşii necesari pentru rezolvarea unei clase de probleme, metodă care se poate implementa pe calculator prin intermediul unui limbaj de programare.

Conform următoarei secţiuni, se poate spune că un algoritm este o secvenţă finită de paşi, aranjată într-o ordine logică specifică care, atunci când este executată, produce o soluţie corectă pentru o problemă precizată.

1.2 Generalităţi despre algoritmi

În matematică există o serie de algoritmi: cel al rezolvării ecuaţiei de gradul doi, algoritmul lui Eratostene (pentru generarea numerelor prime mai mici decât o anumită valoare), schema lui Horner (pentru determinarea câtului şi restului împărţirii unui polinom la un binom), etc.

Soluţia problemei se obţine prin execuţia algoritmului. Algoritmul poate fi executat pe o maşină formală (în faza de proiectare şi analiză) sau pe o maşină fizică (calculator) după ce a fost codificat într-un limbaj de programare. Spre deosebire de un program, care depinde de un limbaj de programare, un algoritm este o entitate matematică care este independentă de maşina pe care va fi executat.

Studiul algoritmilor presupune:

- Elaborarea algoritmilor. Are ca scop identificarea unei soluţii de rezolvare a problemei practice.

- Exprimarea algoritmilor. Presupune prezentarea algoritmilor într-un limbaj abstract, bine definit, astfel încat să avem o formă clară şi concisă a soluţiei identificate. Algoritmii pot fi exprimati şi în limbaje de programare.

- Validarea şi analiza algoritmilor. Înseamnă revizuirea algoritmilor pentru a vedea dacă într-adevăr, acestia produc rezultatele dorite pentru problema analizată şi identificarea eficienţei acestor algoritmi

- Testarea algoritmilor. Presupune rularea programelor aferente algoritmilor şi depanarea acestora.

Un algoritm trebuie să posede următoarele proprietăţi:

Finitudine. Un algoritm trebuie să admită o descriere finită şi fiecare dintre prelucrările pe care le conţine trebuie să poate fi executată în timp finit. Prin intermediul algoritmilor nu pot fi prelucrate structuri infinite.

Corectitudinea. Este proprietatea algoritmului de a furniza o soluţie corectă a problemei date.

Generalitate. Un algoritm destinat rezolvării unei (clase de) probleme trebuie să permită obţinerea rezultatului pentru orice date de intrare şi nu numai pentru date particulare de intrare.

Rigurozitate / claritate. Paşii algoritmului trebuie specificaţi riguros, fără ambiguităţi. În orice etapă a execuţiei algoritmului trebuie să se ştie exact care este următoarea etapă ce va fi executată.

Eficienţa. Algoritmii pot fi efectiv utilizaţi doar dacă folosesc resurse de calcul în volum acceptabil. Prin resurse de calcul se înţelege volumul de memorie şi timpul necesar pentru execuţie.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Algoritmi si Structuri de Date.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
12 pagini
Imagini extrase:
12 imagini
Nr cuvinte:
4 651 cuvinte
Nr caractere:
25 652 caractere
Marime:
37.99KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!