Appunti del 10/05/2023⚓︎
Algoritmi di ricerca⚓︎
analizziamo due tipi, binaria e lineare o esaustiva.
lineare⚓︎
Text Only | |
---|---|
L'efficienza indica quanto l'algoritmo sia "buono" a cercare.
Indice iniziale | Numero di confronti |
---|---|
0 | 1 |
1 | 2 |
2 | 3 |
... | ... |
n-1 | n |
con n numero di elementi dell'insieme.
binaria⚓︎
SOLO se l'insieme di partenza è ordinato.
confrontare valore x con elmeneto a[m] del vv a. se non sono uguali, ripetere con la parte di vettore a destra o sinistra dell'elemento centrale, in base al confronto.
Text Only | |
---|---|
Passi | Numero elementi |
---|---|
1 | n = n/2^0 |
2 | n/2 = n/2^1 |
la complessità è logaritmica è più bassa della lineare. n = 2^(k-1), k = log_2 n+1
Algoritmi di ordinamento⚓︎
prendere insieme di partenza ma restituirlo in ordine.
Selection sort⚓︎
a ogni passo k cerca la posizione del minimo e scambia il cal minimo con a[k].
se il vettore fosse già ordinato, avremmo comunque lo stesso numero di confronti. per ottenere complessità inferiori bisogna fare supposizioni sull'insieme di partenza.