Zrównoważona BST jest korzystne, gdy trzeba chronić swoją strukturę danych z opóźnieniami kolcami i kolizji hash ataków.
Były się dzieje, gdy zespół z rozmieszczonymi oparciem rośnie zostanie zmieniony, to ostatnie jest nieuniknione własności mieszania algorytmem rzucie z nieskończonej przestrzeni się do ograniczonej liczby całkowitej.
Innym problemem jest to, że w .NET jest LOH, a przy dostatecznie dużym słowniku napotkasz fragmentacji LOH. W tym przypadku można użyć BST, płacąc cenę większej złożoności algorytmicznej klasie.
W skrócie, z BST poparte sterty alokacji dostać najgorszym przypadku O (log (n)) razem z hashtable dostać O (N) najgorszy czas sprawy.
BST przychodzi po cenie O (log (n)) średni czas, gorszy cache miejscowości i więcej alokacji sterty, ale ma gwarancji latencji i jest zabezpieczony przed atakami i słownikowych fragmentacji pamięci.
Warto zauważyć, że BST jest również ulec fragmentacji pamięci na innych platformach, a nie za pomocą zagęszczania śmieciarza.
Co do wielkości pamięci, klasa .NET Dictionary`2 jest bardziej wydajna pamięć, ponieważ przechowuje dane jako połączonej listy off-kupa, wartość, która wyłącznie magazynuje oraz przesunięcie informacji. BST ma do przechowywania obiektów nagłówek (jak każdy węzeł jest instancją klasy na stercie), dwa wskaźniki, a niektóre dane Augmented drzewa dla zrównoważonych drzew. Na przykład drzewo czerwono-czarne musiałby wartość logiczną interpretowany jako kolor (czerwony lub czarny). Jest to co najmniej 6 maszynowe słowa, jeśli się nie mylę. Tak więc, każdy węzeł w drzewo czerwono-czarne na systemie 64-bitowym wynosi minimum:
3 słowa nagłówka = 24 Bajty 2 słowa dla wskaźników dzieci = 16 bajtów 1 słowo koloru = 8 bajtów przynajmniej jedno słowo, którego wartość bajtów = 8 + 24 + 16 + 8 + 8 = 56 bajtów (+8 bajtów jeśli drzewo używa węzeł nadrzędny wskaźnik).
Jednocześnie, minimalna wielkość wpisu słowniku byłoby zaledwie 16 bajtów.