Persistent data structure

Persistent data structure

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 Tarjans' 1986 article. These types of data structures are particularly common in logical and functional programming, as languages in those paradigms discourage (or fully forbid) the use of mutable data.

Comment
enIn 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 Tarjans' 1986 article. These types of data structures are particularly common in logical and functional programming, as languages in those paradigms discourage (or fully forbid) the use of mutable data.
Depiction
Purely functional list after.svg
Purely functional list before.svg
Purely functional tree after.svg
Purely functional tree before.svg
DifferentFrom
Persistent storage
Has abstract
enIn 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 Tarjans' 1986 article. 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. These types of data structures are particularly common in logical and functional programming, as languages in those paradigms discourage (or fully forbid) the use of mutable data.
Hypernym
Structure
Is primary topic of
Persistent data structure
Label
enPersistent data structure
Link from a Wikipage to another Wikipage
Access time
Algorithm
Amortized analysis
Angular (application platform)
Array data structure
Automatic garbage collection
Binary search tree
Clojure
Compare-and-swap
Computer performance
Computing
Copy-on-write
Daniel Sleator
Data race
Data structure
Document Object Model
Double-ended queue
Elm (programming language)
Ember.js
File:Purely functional list after.svg
File:Purely functional list before.svg
File:Purely functional tree after.svg
File:Purely functional tree before.svg
Flux architecture
Fractional cascading
Functional programming
Garbage collection (computer science)
Hash array mapped trie
Hash collision
Hash function
Hash table
Haskell (programming language)
Immutable object
Invariant (computer science)
Java (programming language)
Java collections framework
JavaScript
Linked list
Lisp (programming language)
Logic programming
Lookup
Mark and sweep
Memory leak
Min-deque
ML programming language
Mutable array
Navigational database
Parallel computing
Persistent data
Phil Bagwell
Pointer (computer programming)
Potential method
Pure functional language
Purely functional data structure
Queue (data structure)
Racket (programming language)
Random access deque
React (JavaScript library)
Recursion
Red–black tree
Redux (JavaScript library)
Reference
Reference counting
Referential transparency
Retroactive data structures
Rich Hickey
Robert Tarjan
Rope (data structure)
Sorted array
Sparse matrix
Stack (data structure)
Total order
Treap
Tree (data structure)
Value semantics
SameAs
2Hj9A
Estructuras de datos persistentes
m.030syb
Persistência de dados
Persistent data structure
Q2427787
Q56372757
Structure de données persistante
Struttura dati persistente
Trwała struktura danych
Varanleg gagnaskipan
Vedvarende datastruktur
Деструктивне оновлення
ساختار داده‌های ماندگار
可持久化数据结构
永続データ構造
Thumbnail
Purely functional list before.svg?width=300
WasDerivedFrom
Persistent data structure?oldid=1099531971&ns=0
WikiPageLength
40862
Wikipage page ID
662889
Wikipage revision ID
1099531971
WikiPageUsesTemplate
Template:Citation needed
Template:Clarify
Template:Confusing section
Template:Distinguish
Template:Mvar
Template:Ord
Template:Reflist
Template:Short description