2010-08-04 32 views
16

Herhangi bir dilde tamamen işlevsel soft heap veri yapısının herhangi bir uygulaması var mı?Tamamen işlevsel yumuşak yığın

+0

;: O bulunabilir Zaman karmaşıklıklarını doğrulamamışım, fakat yanlış günlüğe (1/e) benziyorlar, burada e 0 nlucaroni

+0

Harika! Log yalnızca 1'den küçük argümanlar için negatiftir, ancak 1/ε değeri 0 <ε <1 yani 1 <ε⁻¹ <∞ olmadığı içindir. –

+1

Elbette. Evet haklısın. Ben açıkça (ya da sanmıyorum), düşünme günlüğü (ε) idi. Yani, tüm operasyonların maliyetini 0 amorti ettiğini söyleyince, sabit bir faktörden bahsediyor mu? – nlucaroni

cevap

20

ACM dijital kütüphanesinin hızlı bir araştırması, Chazelle'nin yumuşak yığın yapısının, çok ilginç olmasına rağmen, nispeten az sayıda çalışma aldığını ve bu nedenle sürekli/fonksiyonel yumuşak yığınların açık bir araştırma konusu olduğunu gösterir. Dolayısıyla, hayır diyebilirim, sürekli yumuşak yığınlar için bilinen yaklaşımlar yoktur. Birinin tanımlanması yayınlanabilir bir sonuç olacaktır (orijinal yapıyı değiştireceğiniz ve paylaşım fırsatlarını tespit edeceğiniz yerlerde kopyalama eklemeniz gerekebilir).

+3

@Jon, eğer bu sorunu ele almayı planlıyorsanız ve * Tamamen İşlevsel Veri Yapıları * okumamışsanız, bunu yapmanızı öneririm. Yumuşak yığınları kapsamadığından, size bu problemin çözümünde yardımcı olacak fonksiyonel veri yapısı tasarımının temel prensiplerini öğretecektir. –

+1

Onori CF kütüphanemde Okasaki'nin çarpık-binom yığınlarının oldukça tam özellikli bir OCaml uygulaması var: http://bitbucket.org/jhw/oni –

0

Bu proje, Scala'ya çeviri yapmak için çok da kötü olmayan bir Java kodu içeriyor ve daha işlevsel hale getiriyor.

https://github.com/lowasser/SoftSelect

Fakat daha önce belirtildiği gibi Tamamen Fonksiyonel Veri Yapıları kitabı özellikle örnek Java kodu verilmiş, Yumuşak yığınlardaki için benimsemek daha kolay olabilir Haskell kodu vardır.

https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

+0

Ayrıca SoftHeaps'ın ikili ile yapıldığı ACM'den de bu makaleye bakıyorum ağaçlar: http://dl.acm.org/citation.cfm?id=1496823 – RudeDude

İlgili konular