struttura ottimale su disco dei dati per la ricerca di un file?

voti
2

Ho trascorso un paio di ore a leggere i messaggi che sono stati legati alla domanda nel tentativo di cercare di trovare una soluzione, ma non ero veramente successo a venire con uno.

Quindi ecco qui: una volta mi è stato chiesto in un'intervista che struttura di dati che userei per cercare una se una particolare parola esisteva in un file. Il file è anche apparentemente abbastanza grande da non essere in grado di adattarsi in memoria e l'intervistatore era veramente alla ricerca di una soluzione su disco.

il B-Tree è una struttura di dati su disco?

Un binario Search Tree è una struttura di dati in memoria non è vero?

È pubblicato 22/02/2011 alle 22:55
fonte dall'utente
In altre lingue...                            


3 risposte

voti
1

Entrambi sono soli-strutture dati e possono essere sia su disco o in memoria. Dipende da come si sceglie di usarli.

BTW, B-alberi sono stati motivati ​​dalla necessità di avere strutture su disco. Alberi binari di ricerca sono solo un caso speciale di B-alberi, in un modo.

Risposto il 22/02/2011 a 23:01
fonte dall'utente

voti
2

Si desidera utilizzare una struttura di dati che mappa un nodo a una pagina di spazio su disco. Questo ridurrà al minimo l'attività del disco.

Perché un B-Tree è spesso usato per questo. Vedere http://en.wikipedia.org/wiki/B-tree , in particolare la sezione "Tempo di ricerca un file ordinato".

Risposto il 22/02/2011 a 23:01
fonte dall'utente

voti
4

Ci sono in realtà due diverse domande possibili qui:

  1. Dato un file enorme, e una parola, come si fa a controllare se la parola esiste nel file?

  2. Dato un file enorme, come si fa a costruire un indice in modo che è possibile controllare in modo efficiente se una parola arbitraria esiste nel file?

Il primo problema è efficacemente risolto con Boyer-Moore e una ricerca lineare attraverso il file. Se si sta solo cercando una volta, la costruzione di un indice è una completa perdita di tempo.

Per quanto riguarda il secondo problema, suona come l'intervistatore sta davvero spingendo B-Alberi.

Risposto il 22/02/2011 a 23:03
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more