Sunteți pe pagina 1din 3

03.11.

2023, 08:55 Algoritm - Wikipedia

Algoritm
De la Wikipedia, enciclopedia liberă

În matematică și informatică un algoritm (cuvântul are ca origine numele matematicianului


persan Al-Khwarizmi) este o metodă (procedură de calcul) în care se prezintă pașii sau operațiile
elementare necesare pentru rezolvarea unei probleme sau categorii de probleme. De obicei
algoritmii se implementează în mod concret prin programarea adecvată a unui calculator, sau a
mai multora. Din diverse motive există și algoritmi încă neimplementați, teoretici.

Algoritmul este noțiunea centrală a informaticii. Totul este construit în jurul algoritmilor (și a
structurilor de date, cum ar fi listele sau grafurile).

Este și un concept central al matematicii moderne alături de cel de sistem axiomatic[1].

Câteva exemple de algoritmi:

algoritmul lui Euclid;


algoritmul de rezolvare a unei ecuații algebrice de gradul doi;
algoritmul de explorare a unui labirint în vederea găsirii unei ieșiri (una din soluții: se ține o
mână pe perete și se merge fără a o dezlipi de acesta);
algoritmul de fabricare a unui automobil (urmărind procedeele și schițele de fabricație);
algoritmul de folosire a unei mașini-unelte (citind manualul de folosire);
algoritmul (ordinea operațiilor, sau „check list”) la decolarea unui avion. Ultimele trei exemple
de algoritm desigur nu țin în mod direct de domeniul matematicii sau informaticii.

Proprietăți
Cele mai importante proprietăți ale unui algoritm, îndeplinite de diverșii algoritmi într-o măsură
mai mare sau mai mică, sunt următoarele:

Corectitudinea - este proprietatea algoritmului de a furniza o soluție corectă a problemei date.


În acest sens este de dorit ca algoritmii să se bazeze pe fapte sau relații matematice
demonstrabile.
Caracterul univoc sau determinist - plecând de la un set de date inițial anume, rezultatul este
unic, sau altfel spus, repetarea execuției algoritmului duce întotdeauna la aceleași rezultate.
Generalitatea - este proprietatea unui algoritm de a rezolva o clasă sau categorie de probleme,
și nu doar o singură problemă particulară. Spre exemplu, un algoritm care rezolvă doar ecuația
este mai puțin general decât unul care rezolvă o ecuație algebrică de gradul
al doilea , oricare ar fi valorile pentru .
Claritatea - proprietatea algoritmului de a descrie cu exactitate și fără ambiguități pașii care
trebuie parcurși în rezolvarea problemei.
Verificabilitatea - acea proprietate a algoritmilor care permite ca fiecare pas să poată fi verificat
într-un timp rezonabil de către om, folosind mijloace de validare bine stabilite.
Optimalitatea - proprietatea unui algoritm de a se termina după un număr minim de pași. De
exemplu, dacă se cere să se calculeze suma primelor 'n' numere naturale, se poate aplica
formula de calcul, și astfel algoritmul se termină într-un singur pas, pe când dacă am aduna

https://ro.wikipedia.org/wiki/Algoritm Î 1/3
03.11.2023, 08:55 Algoritm - Wikipedia

toate numerele de la 1 la n, el s-ar termina abia în n pași, și deci nu ar fi optim. În teoria


complexității se folosește notația O(n).
Finitudinea - este proprietatea algoritmului de a se termina într-un număr finit de pași. Există și
algoritmi care nu se termină într-un număr mărginit de pași, dar aceștia se numesc "metode
algoritmice".
Eficiența - este proprietatea unui algoritm de a se termina nu numai într-un număr finit, ci și
"rezonabil" de pași, chiar dacă acesta nu este cel mai mic posibil (nu este optim). Algoritmul
este ineficient și dacă rezultatul se obține într-un timp mai lung decât cel dorit sau permis.
Existența unei intrări (datele de prelucrat). Întrucât operatorii se aplică unui operand (sau și mai
multor operanzi deodată), este de neconceput un algoritm fără niciun operand. Intrările
permise formează împreună o mulțime specific de obiecte sau valori, care se numește
"domeniul" algoritmului.
Existența unei ieșiri (rezultatele). Este de neconceput un algoritm care nu are nicio ieșire,
deoarece în acest caz intră în discuție însăși utilitatea sa.

Clasificări
În funcție de modul de implementare, un algoritm poate fi:

recursiv - face uz de sine, în mod repetat


iterativ (repetitiv)
serial sau paralel
determinist sau aleatoriu (probabilistic)
exact sau aproximativ

În funcție de paradigma utilizată, ei pot fi:

algoritmi backtracking
algoritmi de gen divide et impera
algoritmi de programare dinamică
algoritmi de tip greedy
algoritmi probabilistici, genetici, euristici ș.a.

Bibliografie
Donald E. Knuth - Arta Programării Calculatoarelor (ed. 2), Volumul 1: Algoritmi Fundamentali
en Herbert S. Wilf - Algorithms and Complexity (PDF Document) (http://www.math.upenn.ed
u/%7Ewilf/AlgoComp.pdf)
en Martin Davis - The Undecidable: Basic Papers On Undecidable Propostions, Unsolvable
Problems and Computable Functions, Raven Press, New York, 1965
Doina Logofătu: Algoritmi fundamentali in C++. Aplicații, Ed. 1, Editura Polirom, Iași, 2007,
ISBN 9734600939.

https://ro.wikipedia.org/wiki/Algoritm 2/3
03.11.2023, 08:55 Algoritm - Wikipedia

Doina Logofătu: Algoritmi fundamentali in Java. Aplicații, Ed. 1, Editura Polirom, Iași, 2007,
ISBN 9734608157.

Note
1. ^ E. Nicolau (colectiv de autori), Figuri ilustre din Evul mediu, Editura Tineretului, p 146

Lectură suplimentară
Giumale, Cristian (2004). Introducere în analiza algoritmilor. Polirom. ISBN 973-681-751-2.
Cormen, Thomas H. (2009). Introduction to Algorithms (ed. a treia). MIT Press. ISBN 978-0-
262-03384-8.

Legături externe
Materiale media legate de algoritm (https://commons.wikimedia.org/wiki/Category:Algo
rithms?uselang=ro) la Wikimedia Commons

Adus de la https://ro.wikipedia.org/w/index.php?title=Algoritm&oldid=15901414

https://ro.wikipedia.org/wiki/Algoritm 3/3

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