5

Why isn't there any implementation (in C, C++, Java or even Python...) of a fully persistent (not necessarily functional) linked list that has a constant time/space overhead in the number of modifications?

The data structure I have in mind is the one described in this paper: http://www.cs.cmu.edu/~sleator/papers/Persistence.htm

After a long search on google I was unable to find even a partially persistent linked list implementation with the overhead sited above.

PS: The definitions of persistence I am speaking about are those described in the following Wikipedia page: http://en.wikipedia.org/wiki/Persistent_data_structure

EDIT(after the question was put on hold):

I don't think the reason mentioned applies to my question. I am not exactly asking for recommendation among different available libraries, so there can t be "opinionated answers and spam". My question is kind of astonishment that a data structure, that is supposed to be great in theory, was not implemented by any of the known languages. So before I implement it myself I asked this question to see if there is an answer like: "It is normal, the data structure X dominates the one you re looking for and that's why it has not been implemented despite its simplicity". Another answer could be "It is not as good as you think since there is a big hidden constant" or "it doesn t do well with the way caches are built nowadays"... I am sorry if my question was not clear enough. I transformed my question making my request more explicit now.

Issam T.
  • 1,677
  • 1
  • 14
  • 32

1 Answers1

1

Have you tried Functional Java library? It got some persistent data structures:

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

FuRioN
  • 623
  • 5
  • 12
  • Thanks for the pointer. However, functional data structures (immutable) can not achieve the overhead I mentioned above. – Issam T. Apr 20 '15 at 12:20