BST jest binarne drzewo poszukiwań. Jest on używany do słownika. BST nie ma ograniczeń w konstrukcji, a zatem poszukiwanie / insercji / delecji O (n) w najgorszym przypadku.
Mapa [na STL] jest również słownikiem i jest rzeczywiście drzewo czerwono-czarne [na STL]. Jest to specjalny rodzaj BST, która ma ograniczenia dotyczące konstrukcji, ze względu na to, najgorszy przypadek wyszukiwania / insert / delete wynosi O (logn).
mieszania tabeli mieszania jest inny typ słownika Zaletą tabeli mieszania [z odpowiednich funkcji mieszających] O (1) Średni czas wyszukiwania / usuwać / wkładki. Jednakże, w najgorszym przypadku O (n), co dzieje się, gdy zbyt wiele elementów zderzają się i / lub gdy potrzebna jest mikstura [kiedy saldo obciążenia jest zbyt wysoka, to przydzielić większą tablicy i skrócenie wszystkie elementy, które są].
Próby są specjalne dla ciągów. Wszystkie OP O (I) gdzie S jest długości łańcucha znaków. to zaleta na innych [gdy ma do czynienia z ciągów] to trzeba przeczytać ciąg tak, więc złożoność, jeśli Mapna przykład, gdy mamy do czynienia z tekstem, jest faktycznie O (S * n * logn).
kiedy użyć?
[lub inny wyważone drzewo] powinna niemal zawsze być lepszym wyborem niż na zwykłej .
Jest to dobry wybór, jeśli chcesz średni krótki czas, ale nie obchodzi mnie, że kilka razy trzeba będzie utratę wydajności wskutek powtarzać, aw niektórych przypadkach może dojść do kolizji.
jest zwykle dobrym słownika ciągów.
MapBST
hash table
Trie