Quali sono i vantaggi di memorizzare tutti gli elementi nei nodi foglia?

voti
13

Sto leggendo strutture dati avanzate da Peter Brass.

All'inizio del capitolo sugli alberi di ricerca, ha dichiarato che ci sono due modelli di alberi di ricerca - uno in cui i nodi contengono l'oggetto vero e proprio (il valore se l'albero è usato come un dizionario), e un altro in cui tutti gli oggetti vengono memorizzati in foglie e nodi interni sono solo per i confronti.

Quali sono i vantaggi del secondo modello sopra il primo?

È pubblicato 14/10/2010 alle 18:57
fonte dall'utente
In altre lingue...                            


4 risposte

voti
0

informazioni ben memorizzare oggetti nei nodi, stiamo parlando in questo caso circa un trie, è utile per un veloce retrival di informazioni (più veloce di memorizzazione di roba in un array / tabella hash, dove il caso peggiore auf acces è O (n), nel trie questo è O (m) [m è la lunghezza di n])

guarda qui: https://en.wikipedia.org/wiki/Trie

In un albero di ricerca questo oerations possono essere molto più complicato (guardare AVL Albero O (log n)) e quindi può essere più lento ed è più compley da implementare.

Che struttura dati scegliere ?? Beh questo dipende da ciò che u vuole fare

Risposto il 14/10/2010 a 19:15
fonte dall'utente

voti
9

Uno dei grandi vantaggi di un albero binario in cui i dati sono solo nei nodi foglia è che si può partizione sulla base di elementi che non sono nel set di dati.

Per esempio, se ho un possibile set di dati dello 0-1 milioni, ma la stragrande maggioranza dei prodotti sono o alla fine alta o di fascia bassa, ma non nel mezzo, mi può ancora voglia il mio primo confronto contro 500.000 - anche se quel numero non è nel mio set di dati . Se ogni nodo avesse dati, non ho potuto fare questo. Anche se non è normalmente necessario in teoria, ho incontrato molte volte che il partizionamento sulla base di un valore al di fuori dei miei dati implementazione semplificata.

Risposto il 14/10/2010 a 19:15
fonte dall'utente

voti
3

B + alberi sono un esempio di un caso in cui tutti i principali / valori vengono memorizzati in nodi foglia. Il vantaggio principale è che, poiché tutti gli articoli sono nei nodi foglia, i nodi foglia possono essere collegati insieme per formare una lista collegata che consente una rapida attraversamento in ordine. Se si accede a un particolare elemento, si può sempre trovare l'elemento successivo nella sequenza senza visitare tutti i genitori, perché i nodi foglia sono collegati tra loro. Filesystem e sistemi di storage del database possono usufruire di queste strutture per le ricerche raggio e roba.

Risposto il 29/11/2011 a 12:07
fonte dall'utente

voti
1

Diciamo che si sta costruendo albero sopra alcuni oggetti su alcuni criteri complessi. Sull'esempio calcolata da più proprietà. A volte non è possibile modificare questo oggetto per memorizzare calcolato il valore e il calcolo di tale criterio è espansiva. Quindi si calcola questo criterio solo una volta, e oggetti archivio in foglie in base a criteri risultato. Poi, quando l'albero è completo si può trovare l'oggetto richiesto molto più veloce, perché non si deve calcolare i criteri per ogni nodo albero nel vostro percorso.

Risposto il 29/11/2011 a 17:55
fonte dall'utente

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