java - 完全持久链表

标签 java c++ containers persistent-data

<分区>

为什么没有任何实现(在 C、C++、Java 甚至 Python 中...)完全持久(不一定是功能性)链表在修改次数上具有恒定的时间/空间开销?

我心目中的数据结构就是这篇论文中描述的那种: http://www.cs.cmu.edu/~sleator/papers/Persistence.htm

在谷歌上进行了长时间的搜索后,我什至找不到一个部分持久的链表实现,其中的开销位于上面。

PS:我所说的持久性的定义是在下面的维基百科页面中描述的那些: http://en.wikipedia.org/wiki/Persistent_data_structure

编辑(问题搁置后):

我认为提到的原因不适用于我的问题。我并不是要在不同的可用库中寻求推荐,所以不会有“自以为是的答案和垃圾邮件”。我的问题有点令人惊讶的是,理论上应该很棒的数据结构却没有被任何已知语言实现。所以在我自己实现它之前,我问了这个问题,看看是否有这样的答案:“这是正常的,数据结构 X 支配着你正在寻找的那个,这就是为什么它没有被实现,尽管它很简单”。另一个答案可能是“它没有你想象的那么好,因为有一个很大的隐藏常量”或“它不适合现在构建缓存的方式”......如果我的问题不够清楚,我很抱歉。我现在改变了我的问题,使我的要求更加明确。

最佳答案

您是否尝试过 Functional Java 库?它有一些持久的数据结构:

http://www.functionaljava.org/features.html

关于java - 完全持久链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29747438/

相关文章:

java - 为什么我的代码会抛出 ClassNotFoundException?

java - 从编辑文本中获取整数值

java - 分配数组中的属性

c++ - 如何将可变参数模板参数转换为另一种类型以调用另一个函数?

java - 为我的程序设置数组时遇到问题

c++ - SIMD/SSE : short dot product and short max value

c++ - 嵌套模板与移位运算符

C++ STL 容器

c++ - 如何在包含指向元素的指针的集合中找到元素?

c# - .Net 中的元素如何存储在容器中?