A egyensúlyban BST előnyös, ha meg kell védeni az adatstruktúra látenciából tüskék és a hash ütközések ellen.
Az előbbi történik, amikor egy tömb hátú szerkezete növekszik egy gets átméretezett, az utóbbi elkerülhetetlen tulajdonsága algoritmus, mint a vetítés végtelen tér korlátozott egész tartományban.
További probléma a .NET, hogy van LOH, és elegendően nagy szótárt befut egy LOH töredezettség. Ebben az esetben használd a BST, a kifizető az ár nagyobb algoritmikus komplexitás osztályban.
Röviden, a BST mögött a kiosztási kupac kap legrosszabb esetben O (log (n)) időben, hash kapsz O (N) legrosszabb esetben időben.
BST ára O (log (n)) átlagos idő, rosszabb cache településen és több kupac juttatások, de van lappangási garanciákat és védve van a szótár alapú támadások és a memória töredezettség.
Érdemes megjegyezni, hogy a BST is figyelemmel memória töredezettség más platformokon, nem használ tömörítő szemétgyűjtő.
Ami a memória méretét, a .NET Dictionary`2 osztály több memóriát hatékony, mert tárolja az adatokat, mint egy off-halom láncolt lista, amely csak tárolja érték és az eltolás információt. BST kell tárolnia tárgy header (mint minden csomópont egy osztály például a kupac), két pointert, és néhány kiegészített fa adatokat kiegyensúlyozott fák. Például egy piros-fekete fa kellene egy logikai értelmezni, színes (piros vagy fekete). Ez legalább 6 gép szóval, ha nem tévedek. Tehát, minden csomópont egy piros-fekete fa 64 bites rendszerben minimum:
3 szó a header = 24 bájt 2 szót a gyermek mutató = 16 bájt 1 szót a color = 8 bájt legalább 1 szó értéke 8+ bájt = 16 + 24 + 8 + 8 = 56 bájt (8 bájt ha a fa használ szülőcsomópontot pointer).
Ugyanakkor, a legkisebb méret a szócikk lenne csak 16 bájt.