Algoritmo: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica Etichette: Annullato Modifica visuale |
m Annullate le modifiche di 138.41.45.177 (discussione), riportata alla versione precedente di Maybe75 Etichetta: Rollback |
||
Riga 1:
{{Nota disambigua}}
In
* ''finito'': è costituito da un numero finito di istruzioni e deve sempre terminare;
* ''deterministico'': partendo dagli stessi dati in [[Input/output|ingresso]], si devono ottenere i medesimi risultati;
* ''non ambiguo'': le operazioni non devono poter essere interpretate in modi differenti;
Riga 11:
Le prime nozioni di algoritmo si trovano in documenti risalenti al [[XVII secolo a.C.]], conosciuti come i papiri di [[Ahmes]], noti anche come [[Papiro di Rhind|papiri di Rhind]],<ref>{{Cita web|url=https://www.britishmuseum.org/collection/object/Y_EA10058|titolo=papyrus {{!}} British Museum|sito=The British Museum|lingua=en|accesso=2022-06-13}}</ref> che contengono una collezione di problemi con relativa soluzione comprendendo un problema di moltiplicazione che lo scrittore dichiara di aver copiato da altri papiri anteriori di 12 secoli.
L'algoritmo è un concetto fondamentale dell'[[informatica]], anzitutto perché è alla base della nozione teorica di [[Teoria della calcolabilità|calcolabilità]]: un problema è calcolabile quando è risolvibile mediante un algoritmo. Inoltre, l'algoritmo è un concetto cardine anche nella fase di [[Programmazione (informatica)|programmazione]] dello [[ciclo di vita del software|sviluppo di un software]]: preso un problema da [[automatica|automatizzare]], la programmazione costituisce essenzialmente la traduzione o [[codifica]] di un algoritmo per tale problema in [[programma (informatica)|programma]], scritto in un certo [[linguaggio]], che può essere quindi effettivamente [[esecuzione (informatica)|eseguito]] da un [[calcolatore]] rappresentandone la logica di [[Elaborazione dati|elaborazione]].
== Definizione ==
{{Cita libro
|nome=Yiannis N.
Riga 27 ⟶ 28:
|pagine=919–936 (Part II)
|url=http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.8093
}}</ref> e si è pertanto costretti ad accontentarsi dell'idea intuitiva di algoritmo come "una sequenza ordinata e finita di passi (operazioni o istruzioni) elementari che conduce a un ben determinato risultato in un tempo finito".
=== Modelli formali ===
[[File:Quicksort example small.png|thumb|right|Rappresentazione grafica dell'algoritmo [[Quicksort]]]]
|