(zaten ana sitede sorulmuş , ancak burada daha iyi kapsama alanı istemek için üzgünüm)
Ben haberi yana Özlü Veri Yapıları o bölgede en son gelişmeleri iyi bir genel umutsuz ihtiyacı var.
Google'ı kafamın üstünden gelen isteklerde google sonuçlarında görebildiğim birçok makaleyi googled ve okudum. Burada önemli bir şeyi kaçırdığımdan şüpheleniyorum.
İşte benim için özel konular:
İkili ağaçların öz, sol / sağ çocuk, bir alt ağaçtaki eleman sayısı etkin işlemlerle özlü kodlanması.
Buradaki ana soru şöyledir: bildiğim tüm yaklaşımlar, ağaç düğümlerinin nefes birinci sırada numaralandırıldığını varsayar (bu alandaki öncü çalışmalarda olduğu gibi Jacobson, G. J (1988). Özlü statik veri yapıları). görevim için uygun görünüyor. Derinlik-ilk düzende verilen büyük ikili ağaçlarla ilgileniyorum ve derinlik-ilk düğüm endeksleri diğer düğüm özelliklerinin anahtarlarıdır, bu yüzden ağaç düzenini değiştirmek benim için en aza indirmek istediğim bir maliyete sahiptir. Bu nedenle, BF dışındaki diğer ağaç düzenlerini dikkate alarak çalışmalara referans alma ilgisi.
Harici bellekteki büyük değişken uzunluklu öğeler diziler. Diziler değişmez: Öğeleri eklemek / silmek / düzenlemek zorunda değilim. Tek gereksinim O (1) eleman erişim süresidir ve mümkün olduğunca düşük ek yük, basit ofset ve boyut yaklaşımından daha iyidir. Görevim için tipik veriler hakkında topladığım bazı istatistikler:
tipik ürün sayısı - yüz milyonlarca, on milyarlarca kişiye kadar;
öğelerin yaklaşık% 30'unun uzunluğu 1 bit'ten fazla değildir ;
% 40-% 60 ürünün uzunluğu 8 bit'ten azdır;
öğelerin yalnızca birkaç yüzdesi 32 ila 255 bit arasında bir uzunluğa sahiptir (255 bit sınırdır)
ortalama madde uzunluğu ~ 4 bit +/- 1 bit.
madde uzunluklarının başka herhangi bir dağılımı teorik olarak mümkündür, ancak pratik olarak ilginç tüm vakaların yukarıda açıklanan istatistiklere yakın istatistikleri vardır.
Herhangi bir karmaşıklığa sahip makalelere bağlantılar, herhangi bir belirsizliğin öğreticileri, az ya da çok belgelenmiş C / C ++ kütüphaneleri - benzer görevlerde sizin için yararlı olan ya da eğitimli tahmininizle böyle görünen her şey - minnetle takdir edilmektedir.
Güncelleme : 1. soruya eklemeyi unuttum: uğraştığım ikili ağaçlar değişmez. Onları değiştirmek için hiçbir gereksinimim yok, ihtiyacım olan tek şey onları çeşitli şekillerde her zaman düğümden çocuklara veya ebeveyne hareket ettirmek, böylece bu tür işlemlerin ortalama maliyeti O (1).
Ayrıca, tipik ağacın milyarder düğümleri vardır ve RAM'de tam olarak saklanmamalıdır.