Sunteți pe pagina 1din 6

Wiki Loves Monuments: Fotografiați un monument, ajutați Wikipedia și câștigați!

Algoritm
De la Wikipedia, enciclopedia liberă

Jump to navigation Jump to search

Un algoritm (cuvântul are ca origine numele matematicianului persan Al-Khwarizmi) înseamnă


în matematică și informatică o metodă sau o procedură de calcul, alcătuită din pașii elementari
necesari 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 fundamentală a informaticii. Totul este construit în jurul algoritmilor (și
a structurilor de date, cum ar fi listele sau grafurile). Este și un concept fundamental al
matematicii moderne alături de cel de sistem axiomatic[1].

Câteva exemple de algoritmi:

 algoritmul de construcție 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 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 (ordinea operațiilor, sau "check list ") la decolarea unui avion turbojet. Acest algoritm
desigur nu ține în mod direct de domeniul matematicii sau informaticii.

Cuprins
 1 Proprietăți
 2 Clasificări
 3 Bibliografie
 4 Referințe
 5 Lectură suplimentară
 6 Legături externe

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 și 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ă ecuația , oricare ar fi valorile lui .
 Claritatea - proprietatea algoritmului de a descrie cu exactitate și fără ambiguități pașii care
trebuiesc parcurși în rezolvarea problemei.
 Verificabilitatea - acea proprietate a algoritmelor care permite ca fiecare pas să poată fi verificat
într-un timp rezonabil de către om, folosind mijloace de validare de încredere.
 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
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). Algorimul 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ă un set (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 însuși, î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)
 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.
 Doina Logofătu: Algoritmi fundamentali in Java. Aplicații, Ed. 1, Editura Polirom, Iași, 2007, ISBN
9734608157.

Referințe
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. Citare cu parametru depășit |coauthors= (ajutor)

Legături externe
[ascunde]

v•d•m

Programare
Programare declarativă · Programare funcțională · Programare imperativă ·
Programare logică · Programarea orientată pe aspecte · Programare orientată
Paradigme eveniment · Programare orientată pe obiecte · Programare procedurală ·

Programare structurată

Algoritm · Calcul paralel · Constantă · Dată · Fir de execuție · Limbaj de


programare · Metadată · Monitor (sincronizare) · Program · Recursivitate · Structură
Concepte de date ·

Variabilă

Compilator · Depanator ·
Unelte
Editor de text

 WorldCat
Informații  BNF: cb119358199
bibliotecare  GND: 4001183-5
 LCCN: sh85003487

Categorii:

 Erori CS1: parametri depășiți


 Matematică
 Algoritmi
 Cuvinte și fraze în limba arabă

Meniu de navigare
 Nu sunteți autentificat
 Discuții
 Contribuții
 Creare cont
 Autentificare

 Articol
 Discuție

 Lectură
 Modificare
 Modificare sursă
 Istoric
Căutare

 Pagina principală
 Schimbări recente
 Cafenea
 Articol aleatoriu
 Facebook

Participare

 Cum încep pe Wikipedia


 Ajutor
 Portaluri tematice
 Articole cerute
 Donații

Tipărire/exportare

 Creare carte
 Descarcă PDF
 Versiune de tipărit

În alte proiecte

 Wikimedia Commons

Trusa de unelte

 Ce trimite aici
 Modificări corelate
 Trimite fișier
 Pagini speciale
 Navigare în istoric
 Informații despre pagină
 Element Wikidata
 Citează acest articol

În alte limbi

 Български
 Deutsch
 Ελληνικά
 English
 Español
 Français
 Magyar
 Српски / srpski
 Türkçe

Modifică legăturile

 Ultima editare a paginii a fost efectuată la 26 septembrie 2018, ora 20:03.


 Acest text este disponibil sub licența Creative Commons cu atribuire și distribuire în condiții
identice; pot exista și clauze suplimentare. Vedeți detalii la Termenii de utilizare.

 Politica de confidențialitate
 Despre Wikipedia
 Termeni
 Dezvoltatori
 Cookie statement
 Versiune mobilă