Utente:Capagira/Algoritmo di ricerca
In informatica, un algoritmo di ricerca è un algoritmo progettato per risolvere un problema di ricerca. Gli algoritmi di ricerca servono al ritrovamento di informazioni memorizzate all'interno di una certa struttura dati o calcolate nello spazio di ricerca del dominio di un problema, a valori discreti o continui. La scelta dell'algoritmo di ricerca appropriato da utilizzare dipende spesso dalla struttura dei dati oggetto della ricerca e anche dalle conoscenze pregresse sui dati stessi. Gli algoritmi di ricerca possono essere resi più veloci ed efficienti attraverso l'uso di strutture dati ausiliarie appositamente costruite, come gli alberi di ricerca, le mappe hash e gli indici [1][2].
Ricerca in strutture sequenziali
modificaNel caso di ricerca su strutture sequenziali come liste ed array, gli algoritmi di ricerca possono essere classificati in base al loro meccanismo di ricerca in tre tipi[2]: lineari, binari e di hashing. Gli algoritmi di ricerca lineari controllano ogni record alla ricerca di quello associato a una chiave di destinazione in modo lineare. Nella ricerca binaria, o a mezzo intervallo, si mira ripetutamente al centro della struttura di ricerca e dividono lo spazio di ricerca a metà. Gli algoritmi di ricerca comparativa migliorano la ricerca lineare eliminando progressivamente i record sulla base del confronto delle chiavi fino a trovare il record target e possono essere applicati a strutture di dati con un ordine definito. Gli algoritmi di ricerca digitale funzionano sulla base delle proprietà delle cifre nelle strutture di dati utilizzando chiavi numeriche. Infine, l'hashing mappa direttamente le chiavi ai record sulla base di una funzione hash.
Note
modifica- ^ Paul Beame e Faith E. Fich, Optimal Bounds for the Predecessor Problem and Related Problems, in Journal of Computer and System Sciences, vol. 65, n. 1, 1º agosto 2002, pp. 38–72, DOI:10.1006/jcss.2002.1822. URL consultato il 3 agosto 2025.
- ^ a b Donald Ervin Knuth, The art of computer programming, 3rd ed, Addison-Wesley, 1997, ISBN 978-0-201-89683-1.
Altri progetti
modifica
Collegamenti esterni
modifica- (EN) Denis Howe, search algorithm, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- Una breve guida agli algoritmi di ordinamento e ricerca, su epaperpress.com.