Forskjellen mellom BST, nummerering, prøver og kart

stemmer
4

Jeg leste noen blogg og tutorial på prøver, hashing, kart (STL) og BST. Jeg er veldig forvirret i hvilken som er bedre å bruke og hvor. Jeg vet at for å gjøre en slik forskjell mellom dem er tull fordi de er alle gjennomføringen avhengig. Kan du fortelle meg mer spesifikk og vennligst ikke glemte å nevne den kompleksitet (verste, avg, og beste fall).

Takk på forhånd...

Publisert på 16/08/2011 klokken 09:07
kilden bruker
På andre språk...                            


1 svar

stemmer
6

BST er binært søketre. Den brukes for en ordbok. BST har ingen begrensninger med hensyn til struktur, og således et søk / innsetting / sletting er O (n) verste tilfelle.

Kart [på stl] er også en ordbok, og er faktisk en rød-svart tre [på stl]. det er en spesiell type BST, som har begrensninger på konstruksjoner, på grunn av det, worst case search / sette inn / slette er O (LOGN).

hashing nummertabellen er en annen type ordbok, fordelen av en nøkkeltabell [med gode hash funksjoner] er O (1) gjennomsnittlig tid for søk / slette / insert. imidlertid, er det verste tilfellet O (n), noe som skjer hvis for mye elementene mot hverandre og / eller når et oppkok er nødvendig [når belastningsbalanse er for høy, vi tildele en større matrise, og rehash alle elementene til er].

Prøver er spesielle for strenger. alle ops er O (S) hvor S er strengens lengde. det er fordel på de andre [når håndtere strenger] er du trenger å lese strengen uansett, så kompleksiteten hvis en Mapfor eksempel, når du arbeider med strenger, er faktisk O (S * n * LOGN).

når du skal bruke?
en Map[eller annen balansert treet] bør nesten alltid være et bedre valg enn en vanlig BST.
hash tableer et godt valg når du vil at gjennomsnittlig kort tid, men ikke bryr seg at noen ganger du vil ha ytelse tap på grunn av rehash, og i noen tilfeller kan det oppstå kollisjoner.
Trieer vanligvis en god ordbok for strenger.

Svarte 17/08/2011 kl. 07:54
kilden bruker

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