Che cos'è una struttura di dati di ricerca?
Trovare un elemento in un elenco di dati del computer può essere difficile e richiede tempo, motivo per cui è stata creata la struttura dei dati di ricerca. Una struttura di dati di ricerca è qualsiasi struttura di dati che può essere cercata automaticamente, che si tratti di un database di grandi dimensioni o di un piccolo elenco. Esistono due tipi principali di strutture di ricerca, statiche e dinamiche; statico non può cambiare, mentre dinamico consente la modifica. La ricerca può essere un'operazione costosa, quindi la maggior parte delle strutture di dati sono ottimizzate per aiutare la funzione di ricerca a trovare i dati. Individuare rapidamente gli articoli è un evidente vantaggio per questa struttura ma, poiché è così costoso, la funzione di ricerca viene utilizzata al meglio con strutture di grandi dimensioni.
A differenza della maggior parte delle altre strutture di dati, una struttura di dati di ricerca può essere qualsiasi tipo di struttura di dati. La caratteristica dominante di questa struttura è che gli utenti possono effettuare ricerche all'interno della struttura tramite una query; la struttura deve inoltre contenere almeno due elementi in un elenco, sebbene la maggior parte delle strutture contenga decine, centinaia o migliaia di elementi. Ciò significa che un database, un elenco, una stringa o un albero binario possono qualificarsi come struttura di ricerca.
Una struttura di dati di ricerca può essere suddivisa in una di due categorie: statica e dinamica. La versione statica è immutabile e gli utenti possono solo cercare l'elenco. Questa struttura è molto più facile da mantenere, poiché gli utenti non devono preoccuparsi di cambiare il sistema di bookmarking e la ricerca è in genere più semplice. Le strutture dinamiche consentono agli utenti di modificare gli elementi modificandoli o eliminandoli, ma sono più difficili da eseguire. Gli articoli possono cambiare così frequentemente che è necessario un sistema di segnalibri per tenere traccia della posizione di ciascun elemento.
La ricerca attraverso una struttura di dati può essere costosa, il che significa che può richiedere molto tempo e fatica per il computer. Ad esempio, se una struttura di dati viene ricercata in modo lineare e l'elemento si trova in fondo, la query dovrà esaminare ogni elemento fino a quando non trova quello corretto. Per aiutare il computer, la maggior parte delle strutture di dati di ricerca sono ottimizzate utilizzando un sistema di bookmarking e suddividendo la struttura in sezioni in modo che la query di ricerca possa guardare attraverso la sezione giusta anziché l'intera struttura.
L'ovvio vantaggio dell'utilizzo di una struttura di dati di ricerca è che gli utenti possono cercare record fino a quando non trovano le informazioni specifiche di cui hanno bisogno. Allo stesso tempo, poiché la query è così costosa, ciò non è altrettanto vantaggioso su strutture di dati più piccole. Se la struttura dei dati è piccola e può essere facilmente cercata da una persona, il computer potrebbe impiegare più tempo a trovare un record che se un utente effettuasse la ricerca manualmente.