Verschil tussen BST, hashing Tries en kaart

stemmen
4

Ik lees een aantal blog en tutorial over Tries, hashing, Map (stl) en BST. Ik ben erg in de war in welke beter is te gebruiken en waar. Ik weet dat een dergelijk verschil te maken tussen hen zijn onzin want ze zijn allemaal afhankelijk van de implementatie. Kunt u mij vertellen meer specifieke en neem niet vergeten om de complexiteit (slechtste, avg, en best case) te noemen.

Bij voorbaat bedankt...

De vraag is gesteld op 16/08/2011 om 10:07
bron van user
In andere talen...                            


1 antwoorden

stemmen
6

BST is Binary Search Tree. Het wordt gebruikt voor een woordenboek. BST geen beperkingen aan de structuur, en dus een zoek / insertie / deletie O (n) worst case.

Map [op stl] is ook een woordenboek, en is eigenlijk een rood-zwarte boom [op stl]. Het is een speciaal soort van BST, die beperkingen op structuren heeft, als gevolg van het, worst case search / insert / delete is O (logn).

hashing hashtabel wordt een ander type van woorden, het voordeel van een hashtabel [goede hashfuncties] O (1) gemiddelde tijd voor zoeken / verwijderen / insert. Maar het ergste geval O (n), wat gebeurt als er teveel elementen botsen en / of wanneer herkauwen nodig is [wanneer load-balancing te hoog is, wijzen we een grotere array en rehash alle elementen is].

Pogingen zijn speciaal voor strijkers. Alle ops O (S) waarbij S de lengte van de snaar. is het voordeel van de anderen [bij het omgaan met strings] is dat je nodig hebt om de string toch te lezen, zodat de complexiteit als een Mapbijvoorbeeld, bij de behandeling van strijkers, is eigenlijk O (S * n * logn).

wanneer te gebruiken?
een Map[of een andere gebalanceerde boom] moet bijna altijd een betere keuze dan een normale BST.
hash tableis een goede keuze als je wilt gemiddelde korte tijd, maar niet schelen dat sommige tijden u prestatieverlies door rehash hebben, en in sommige gevallen botsingen kunnen optreden.
Trieis meestal een goed woordenboek voor strijkers.

antwoordde op 17/08/2011 om 08:54
bron van user

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