Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Se l'elemento non c'è, finisco con il fare tutta la scansione del vettore.
In generale, questo è inevitabile.
Vettore ordinato
Il vettore è ordinato se il primo elemento è minore del secondo, che è minore del
terzo, ecc.
La ricerca binaria (o dicotomica)
Si tratta ancora di trovare un elemento in un vettore ordinato.
Idea: invece di procedere sequenzialmente, parto da metà.
Esempio: ricerca di una parola nel vocabolario
Parto da metà vettore. Se l'elemento è quello da cercare, ritorno true
Se l'elemento da cercare è minore di quello a metà del vettore, cerco nella prima metà
Algoritmo:
• trova l'elemento a metà fra l'inizio e la fine
• se è uguale a quello da cercare, torna true
• se è maggiore, cerca solo nella prima metà
• altrimenti, cerca solo nella seconda metà
È un tipico algoritmo ricorsivo.
Implementazione per esercizio
Modello di costo
Assumo che ogni istruzione richieda tempo 1
Tempo di esecuzione = numero di istruzioni eseguite
Valutazione in base alla dimensione del vettore
n dimensione dei dati (numero di elementi del vettore)
T(n) tempo impiegato dal metodo su un vettore di lunghezza n
Fonte: http://www.dis.uniroma1.it