Algoritmi și Structuri de Date

Curs
8.5/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 12 în total
Cuvinte : 4651
Mărime: 37.99KB (arhivat)
Cost: Gratis

Extras din document

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.

Preview document

Algoritmi și Structuri de Date - Pagina 1
Algoritmi și Structuri de Date - Pagina 2
Algoritmi și Structuri de Date - Pagina 3
Algoritmi și Structuri de Date - Pagina 4
Algoritmi și Structuri de Date - Pagina 5
Algoritmi și Structuri de Date - Pagina 6
Algoritmi și Structuri de Date - Pagina 7
Algoritmi și Structuri de Date - Pagina 8
Algoritmi și Structuri de Date - Pagina 9
Algoritmi și Structuri de Date - Pagina 10
Algoritmi și Structuri de Date - Pagina 11
Algoritmi și Structuri de Date - Pagina 12

Conținut arhivă zip

  • Algoritmi si Structuri de Date.doc

Alții au mai descărcat și

Proiectarea unei Solutii de Comert Electronic

Comertul electronic reprezinta multitudinea proceselor software si comerciale necesare proceselor business sa functioneze numai, sau în primul...

Sabloane de Proiectare a Interfetelor Utilizator pentru Aplicatii Web

Capitolul 1 Introducere Lucrarea prezinta sabloanele de proiectare , ce sunt acestea si cum ne ajuta ele in rezolvarea problemelor de proiectare...

Algoritmi și Structuri de Date

Introducere: Semiotica se ocupã cu studiul semnelor în natura si în societate. Semnul nu este o calitate în sine a unui obiect, ci o functie pe...

Curs ASDN

1.1. Sisteme de numeratie - Sistemele numerice prelucrează informatie - Informatia este codificată ® un anumit tip de reprezentare - Sistemul...

Cursuri - Bazele Tehnologiei Informaticii

- reprezintă acea componentă a sistemului electronic de calcul în care se stochează intrucţiunile programelor aflate în curs de execuţie, datele de...

Inteligenta Artificiala

Recursivitate 3 Un obiect este recursiv daca este definit funct¸ie de el ˆınsu¸si. ² definim un num˘ar infinit de obiecte printr-o declarat¸ie...

Structura și Arhitectura Calculatoarelor

Cap.1. BAZELE ARITMETICE ALE CALCULATOARELOR Spre deosebire de calculatoarele analogice care operează cu mărimi continue calculatoarele numerice...

Baze de Date

Concepte de bază ale Bazelor de date -DB Bază de date Definiţie: Ansamblu de date structurate Legate funcţional Stocate pe suporturi tehnice...

Ai nevoie de altceva?