Data structure that always preserves the previous version of itself when it is modified
Not to be confused with Persistent storage.
In computing, a persistent data structure or not ephemeral data structure is a data structure that always preserves the previous version of itself when it is modified. Such data structures are effectively immutable, as their operations do not (visibly) update the structure in-place, but instead always yield a new updated structure. The term was introduced in Driscoll, Sarnak, Sleator, and Tarjan's 1986 article.[1]
A data structure is partially persistent if all versions can be accessed but only the newest version can be modified. The data structure is fully persistent if every version can be both accessed and modified. If there is also a meld or merge operation that can create a new version from two previous versions, the data structure is called confluently persistent. Structures that are not persistent are called ephemeral.[2]
These types of data structures are particularly common in logical and functional programming,[2] as languages in those paradigms discourage (or fully forbid) the use of mutable data.
^Driscoll JR, Sarnak N, Sleator DD, Tarjan RE (1986). "Making data structures persistent". Proceedings of the eighteenth annual ACM symposium on Theory of computing - STOC '86. pp. 109–121. CiteSeerX 10.1.1.133.4630. doi:10.1145/12130.12142. ISBN 978-0-89791-193-1. S2CID 364871.
^ abKaplan, Haim (2001). "Persistent data structures". Handbook on Data Structures and Applications.
and 21 Related for: Persistent data structure information
Abstract data type Concurrent datastructureData model Dynamization Linked datastructure List of datastructuresPersistentdatastructure Plain old data structure...
data may come at any time, with periods of inactivity in between. JBND, Java library for programs handling persistentdataPersistentdatastructure Persistent...
up persistent in Wiktionary, the free dictionary. Persistent may refer to: PersistentdataPersistentdatastructurePersistent identifier Persistent memory...
Such a datastructure is necessarily persistent. However, not all persistentdatastructures are purely functional.: 16 For example, a persistent array...
accuracy of data system users’ data analyses. CRUD Data processing Longitudinal data system Paul Beynon-Davies Persistentdatastructure Persistence (computer...
difference between persistentdatastructures and retroactive datastructures is how they handle the element of time. A persistentdatastructure maintains several...
science, hash tree may refer to: Hashed array tree Hash tree (persistentdatastructure), an implementation strategy for sets and maps Merkle tree Hash...
Data storage is the recording (storing) of information (data) in a storage medium. Handwriting, phonographic recording, magnetic tape, and optical discs...
5D optical data storage (also branded as Superman memory crystal, a reference to the Kryptonian memory crystals from the Superman franchise) is an experimental...
In computer science, hash trie can refer to: Hash tree (persistentdatastructure), a trie used to map hash values to keys A space-efficient implementation...
precisely regarding datastructures, a persistent array is a persistentdatastructure with properties similar to a (non-persistent) array. That is, after...
of data elements whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a datastructure consisting...
database. This should come as no surprise: one persistent theme through all of these large scale distributed data store papers is that RDBMSs are hard to do...
main tool is persistent homology, an adaptation of homology to point cloud data. Persistent homology has been applied to many types of data across many...
function that does not have side effects Purely functional datastructure, a persistentdatastructure that does not rely on mutable state Purely functional...
In computer science, persistent memory is any method or apparatus for efficiently storing datastructures such that they can continue to be accessed using...
Low-Power Double Data Rate (LPDDR), also known as LPDDR SDRAM, is a type of synchronous dynamic random-access memory that consumes less power and is targeted...