Różnica pomiędzy BST, mieszania, próbuje i mapy

głosy
4

Czytałem jakiś blog i tutorial na próbach mieszania, mapa (STB) i BST. Jestem bardzo mylić, w którym jeden lepiej jest użyć i gdzie. Wiem, że do takiego różnica między nimi to nonsens, ponieważ wszystkie one są zależne od implementacji. Czy mógłbyś mi powiedzieć dokładniej i proszę nie zapomniał wspomnieć o złożoności (najgorsze, średnio, a najlepszym przypadku).

Z góry dziękuję...

Utwórz 16/08/2011 o 10:07
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
6

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

Odpowiedział 17/08/2011 o 08:54
źródło użytkownik

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