uni
Una sequenza precisa (non ambigua) e finita di operazioni, che porta alla realizzazione di un compito.
Operazioni
Le operazioni usate appartengono ad una delle seguenti categorie:
- Operazioni sequenziali
- Operazioni Condizionali
- Operazioni iterative
Dominio
L’algoritmo porta ad una soluzione a partire dai dati, deve essere applicabile ad un qualsiasi di dati in ingresso appartenenti al dominio di definizione dell”algoritmo.
Proprietà
Un Algoritmo ha le seguenti proprietà:
- Eseguibilità: ogni azione deve essere eseguibile in un tempo finito.
- Non ambiguità: ogni azione deve essere univocamente interpretabile dall’esecutore.
- Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati in ingresso, deve essere finito.
Ha le seguenti proprietà essenziali: - Correttezza: un algoritmo è corretto se esso perviene alla soluzioni del compito cui è preposto, senza difettare di alcun passo fondamentale, quindi risolve il problema computazionale.
- Efficienza: un algoritmo è efficiente se perviene alla soluzione del compito cui è preposto nel modo più veloce possibile, compatibilmente con la sua correttezza.
Algoritmi equivalenti
Algoritmi equivalenti:
- hanno lo stesso dominio di ingresso.
- hanno lo stesso dominio di uscita.
- In corrispondenza degli stessi valori del dominio di ingresso producono gli stessi valori del dominio di uscita.
Quindi: forniscono lo stesso risultato, ma possono avere diversa efficienza e possono essere profondamente diversi.
Complessità
Ogni algoritmo è caratterizzato da una sua Complessità.
Istanze
Ogni istanza di uno stesso problema sono caratterizzate da dati diversi ed ogni istanza, a parità di dimensione può richiedere tempo diverso. Esistono quindi caso migliore, peggiore e medio.
Concetti Chiave
- problema
- istanza
- efficienza
- caso peggiore
- modello di calcolo
- correttezza
- dimensione dell’istanza
Algoritmi di Ordinamento Array
Algoritmi di Ricerca Array