Data structures 纯功能软堆

Data structures 纯功能软堆,data-structures,functional-programming,soft-heap,Data Structures,Functional Programming,Soft Heap,在任何语言中是否有纯功能性数据结构的实现?快速搜索ACM数字图书馆表明,Chazelle的软堆结构尽管非常有趣,但得到的研究相对较少,因此持久性/功能性软堆是一个开放的研究课题 所以我想说不,目前还没有已知的持久软堆方法。描述一个将是一个可发布的结果(它可能归结为添加复制,在其中您将改变原始结构,并确定共享机会)。此项目的Java代码可能不会太糟糕,无法转换为Scala。。。然后让它更实用 但是正如前面提到的,纯函数数据结构书中有Haskell代码,这可能更容易用于软堆,特别是考虑到示例Jav

在任何语言中是否有纯功能性数据结构的实现?

快速搜索ACM数字图书馆表明,Chazelle的软堆结构尽管非常有趣,但得到的研究相对较少,因此持久性/功能性软堆是一个开放的研究课题


所以我想说不,目前还没有已知的持久软堆方法。描述一个将是一个可发布的结果(它可能归结为添加复制,在其中您将改变原始结构,并确定共享机会)。

此项目的Java代码可能不会太糟糕,无法转换为Scala。。。然后让它更实用

但是正如前面提到的,纯函数数据结构书中有Haskell代码,这可能更容易用于软堆,特别是考虑到示例Java代码


哈伊姆·卡普兰、罗伯特·E·塔扬、乌里·兹威克的论文描述了纯功能变体,但没有对其进行全面分析。可在以下网址找到:


@Jon,如果您计划解决此问题,但尚未阅读纯功能数据结构,我建议您这样做。尽管它不包括软堆,但它将教给您函数数据结构设计的基本原则,这将有助于解决这个问题;我还没有验证时间复杂性,但它们似乎是错误的日志(1/e),其中e是0!Log只对小于1的参数为负,但1/ε不是,因为当然是0Oh。是的,你说得对。我显然(或者我想不是)在想log(ε)。所以,当他说所有操作都是摊销成本0时,他说的是常数因子?我猜摊销成本0意味着常数因子,是的。我也在看ACM的这篇文章,其中软堆是用二叉树生成的: