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:

  1. Operazioni sequenziali
  2. Operazioni Condizionali
  3. 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à:

  1. Eseguibilità: ogni azione deve essere eseguibile in un tempo finito.
  2. Non ambiguità: ogni azione deve essere univocamente interpretabile dall’esecutore.
  3. Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati in ingresso, deve essere finito.
    Ha le seguenti proprietà essenziali:
  4. Correttezza: un algoritmo è corretto se esso perviene alla soluzioni del compito cui è preposto, senza difettare di alcun passo fondamentale, quindi risolve il problema computazionale.
  5. 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:

  1. hanno lo stesso dominio di ingresso.
  2. hanno lo stesso dominio di uscita.
  3. 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

  1. problema
  2. istanza
  3. efficienza
  4. caso peggiore
  5. modello di calcolo
  6. correttezza
  7. dimensione dell’istanza
    Algoritmi di Ordinamento Array
    Algoritmi di Ricerca Array