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

modifica

Nel 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.



  1. ^ 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.
  2. ^ 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
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica