Eğer gecikme sivri ve karma çarpışmalar saldırılara karşı veri yapısını korumak için gerekiyorsa bir dengeli BST tercih edilir.
bir dizi destekli yapı, yeniden boyutlandırılmış alır büyür, ilkinin sondaki sınırlı tam sayı aralığı sonsuz alan bir çıkıntı olarak müzakere algoritmasının kaçınılmaz bir özelliktir, gerçekleşir.
.NET bir diğer sorun LOH ve yeterince büyük bir sözlükle bir LOH bölünmesi ile olmasıdır. Bu durumda daha büyük algoritmik karmaşıklık sınıfın bir fiyat ödeyerek, bir BST'yi kullanabilirsiniz.
Eğer O (K) en kötü durum zaman olsun hashtable'a ile Kısacası, tahsis yığın tarafından desteklenen bir BST ile sen, en kötü durum O (log (N)) zaman olsun.
BST O (log (N)) ortalama süre, kötü önbellek yerellik ve daha yığın ayırmaları bir bedeli, ancak gecikme garantileri vardır ve sözlük saldırıları ve bellek parçalanması korunmaktadır.
Worth BST de diğer platformlarda bellek parçalanması için bir konu olduğunu belirterek, bir sıkıştırma çöp toplayıcı kullanmıyor.
bir off-yığın bağlantılı liste gibi verileri depolayan değeri depolar ve ofset bilgilerini, bellek boyutu için olduğu gibi, .NET Dictionary`2 sınıfı, daha fazla bellek etkilidir. TSİ (her bir düğüm, bir sınıf örneği yığın üzerinde olduğu gibi), iki işaretleyicinin ve dengeli ağaç için bir arttırılmış ağaç veri nesnesi, başlığın depolanması için yer alır. Örneğin, kırmızı-siyah ağaç renk (kırmızı veya siyah) olarak yorumlanır bir boolean gerekir. Yanılmıyorsam, bu, en az 6 makine kelime. Yani, 64-bit sistemde kırmızı-siyah ağacın her düğüm bir minimumdur:
başlık = 24 bayt alt işaretçileri için 2 kelime = 16 bayt değerin 8+ bayt = 24 + 8 + 16 + 8 = 56 bayt için renk için 1 kelime = 8 byte en az 1 kelime için 3 kelime (+ 8 bayt ağacı) bir üst düğüm işaretçi kullanıyorsa.
Aynı zamanda, sözlük girdisinin minimum boyutu sadece 16 byte olacaktır.