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.