Live briefing
Everything about Purely functional data structure
Data structure implementable in purely functional languages
In computer science, a purely functional data structure is a data structure that can be directly implemented in a purely functional language. The main difference between an arbitrary data structure and a purely functional one is that the latter is (strongly) immutable. This restriction ensures the data structure possesses the advantages of immutable objects: (full) persistency, quick copy of objects, and thread safety. Efficient purely functional data structures may require the use of lazy evaluation and memoization. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Purely functional data structureA 5-minute orientation
- Pick up a classic book: Modern Operating SystemsThe most-reprinted book on the subject
- Read the landmark paper: Lightweight semiformal time complexity analysis for purely functional data structuresCited 14 times
- Go sideways: Queue (abstract data type)A closely related topic
- Go sideways: Double-ended queueA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🏆 Landmark papers (most cited)
📚 Books worth reading
Modern Operating SystemsAndrew S. Tanenbaum, Herbert Bos · 1992
Clean CodeRobert C. Martin · 2008
Cartesian meditationsEdmund Husserl, Dorion Cairns · 1960
Operations ManagementRoberta S. Russell, Bernard Taylor · 1998
Campbell biologyLisa A. Urry, Michael L. Cain · 2015
Treaty Occupationay ToxicologySuelen Queiroz · 2010
The Conspirators HierarchyJohn Coleman · 1992
Purely functional data structuresChris Okasaki · 1998
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Queue (abstract data type) In computer science, a queue is an abstract data type that serves as an ordered collection of entities. By convention, the end of the queue where elements…
- Double-ended queue Input Input Output Output as a queue as a stack In computer science, a double-ended queue (abbreviated as deque — /dɛk/ DEK), is an abstract data type…
- Purely functional programming In computer science, purely functional programming usually designates a programming paradigm—a style of building the structure and elements of computer…
- 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…
- Heap (data structure) In computer science, a heap is a tree-based data structure that satisfies the heap property: In a max heap, for any given node C, if P is the parent node…
- Comparison of data structures This is a comparison of the performance of notable data structures, as measured by the complexity of their logical operations. For a more comprehensive…
- Priority queue In computer science, a priority queue is an abstract data type similar to a regular queue where each element has an associated priority determining its…
- Pairing heap A pairing heap is a type of heap data structure with relatively simple implementation and excellent practical amortized performance, introduced by Michael…