Hva er fordelene med lagring av alle elementer i bladnodene?

stemmer
13

Jeg leser Avansert datastrukturer av Peter Brass.

I begynnelsen av kapitlet på søke trær, uttalte han at det er to modeller av søke trær - ett hvor noder inneholde selve objektet (verdi hvis treet er brukt som en ordbok), og en annen der alle objekter er lagret i blader og interne noder er bare for å sammenligne.

Hva er fordelene med den andre modellen over den første?

Publisert på 14/10/2010 klokken 17:57
kilden bruker
På andre språk...                            


4 svar

stemmer
0

brønn lagring av informasjonsobjekter i nodene, vi snakker i dette tilfelle om en trie, er nyttig for rask retrival av informasjon (raskere enn å lagre ting i en matrise / hashtabellen, hvor det verste tilfellet auf tilb er O (n), i den trie dette er O (m) [m er lengden av n])

se her: https://en.wikipedia.org/wiki/Trie

I et søketre denne oerations kan være mye mer komplisert (se AVL Tre O (log n)), og så kan være tregere og er mer compley å implementere.

Hva datastruktur for å velge ?? Vel, dette kommer an på hva u ønsker å gjøre

Svarte 14/10/2010 kl. 18:15
kilden bruker

stemmer
9

En av de store fordelene med et binært tre der data er bare i bladnodene er at du kan partisjonere basert på elementer som ikke er i datasettet.

For eksempel, hvis jeg har en mulig datasett på 0-1 millioner, men de aller fleste elementene er enten i den høye enden eller lave enden, men ikke i midten, kan jeg fortsatt vil ha min første sammenligne mot 500.000 - selv om det tallet er ikke i min datasettet . Hvis hver node hadde data, kunne jeg ikke gjøre dette. Mens vanligvis ikke nødvendig i teorien, har jeg kjørt inn mange ganger at partisjonering basert på en verdi utenfor min data forenklet gjennomføring.

Svarte 14/10/2010 kl. 18:15
kilden bruker

stemmer
3

B + trær er et eksempel på et tilfelle hvor alle nøkkel / verdier lagres i bladnodene. Den primære fordelen her er at siden alle elementene er i bladnodene, kan løvnodene knyttes sammen til en lenket liste som tillater rask i-order traversering. Hvis du åpner et bestemt element, kan du alltid finne det neste elementet i sekvensen uten å besøke foreldre fordi løvnodene er koblet sammen. Filsystemer og database lagringssystemer kan dra nytte av denne strukturer for rekkevidde søk og sånt.

Svarte 29/11/2011 kl. 11:07
kilden bruker

stemmer
1

La oss si at du bygger treet over noen objekter på noen komplekse kriterier. På eksempel beregnet fra flere egenskaper. Noen ganger kan du ikke endre dette objektet til butikken beregnet verdi og beregne disse kriteriene er ekspansiv. Så du beregne dette kriteriet bare én gang, og oppbevare gjenstander i blader basert på kriterier resultatet. Så når treet er ferdig kan du finne ønsket objekt mye raskere fordi du ikke trenger å beregne kriterier for hvert tre node i banen.

Svarte 29/11/2011 kl. 16:55
kilden bruker

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