## Making Data Structures Persistent (1989)

### Cached

### Download Links

- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- [ad.informatik.uni-freiburg.de]
- DBLP

### Other Repositories/Bibliography

Citations: | 246 - 6 self |

### BibTeX

@MISC{Driscoll89makingdata,

author = {James R. Driscoll and Neil Sarnak and Daniel D. Sleator and Robert E. Tarjan},

title = {Making Data Structures Persistent},

year = {1989}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper is a study of persistence in data structures. Ordinary data structures are ephemeral in the sense that a change to the structure destroys the old version, leaving only the new version available for use. In contrast, a persistent structure allows access to any version, old or new, at any time. We develop simple, systematic, and effiient techniques for making linked data structures persistent. We use our techniques to devise persistent forms of binary search trees with logarithmic access, insertion, and deletion times and O(1) space bounds for insertion and deletion.

### Citations

603 | Data Structures and Networks Algorithms - Tarjan - 1983 |

231 |
R.: A dichromatic framework for balanced trees
- Guibas, Sedgewick
- 1978
(Show Context)
Citation Context ...ly a balanced search tree, persistent. We shall discuss a particular kind of search tree, the rod-black tree, although our ideas apply as well to certain other kinds of search trees. A red-black tree =-=[12,31,32]-=- is a binary search tree, each node of which is colored either red or black, subject to the following three constraints: (i) (Missing node convention) Every missing (external) node is regarded as bein... |

173 | Planar point location using persistent search trees - Sarnak, Tarjan - 1986 |

154 | Fractional cascading: I. A data structuring technique
- Chazelle, Guibas
- 1986
(Show Context)
Citation Context ...mp.) Whether this saves space depends on the internal structure of nodes. Second, our cascading node splitting process is formally equivalent to the fractional cascading method of Chazelle and Guibas =-=[7,8]-=-, which was invented for an entirely different purpose. Indeed, our ideas can be used to develop a slightly simplified form of fractional cascading. I15 4. Persistent Search Trees In this section we s... |

153 | Two algorithms for maintaining order in a list - Dietz, Sleator - 1987 |

138 | Amortized computational complexity - Tarjan - 1985 |

107 | Filtering search: a new approach to query-answering
- Chazelle
- 1986
(Show Context)
Citation Context ...e bound of O (n), and a preprocessing time bound of O (n log n). They can also be used as a simpler substitute for Chazelle's "hive graph" structure, which has a number of uses in geometric retrieval =-=[5]-=-. Cole [9] lists a number of other geometric applications of such search trees. 119 Fully persistent search trees can be used to represent any sorted set or list as it evolves over time, allowing upda... |

104 |
Decomposable searching problems I. Static-to-dynamic transformation
- Bentley, Saxe
- 1980
(Show Context)
Citation Context ...ime by a factor of xf~', if one makes reasonable assumptions about the efficiency of the ephemeral operations. The third approach of Overmars is to use the dynamization techniques of Bentley and Saxe =-=[2]-=-, which apply to so-called "decomposable" searching problems. Given an ephemeral data structure representing a set of items, on which the only update operation is insertion, the conversion to a persis... |

97 | K.: A new data structure for representing sorted lists
- Huddleston, Mehlhorn
- 1982
(Show Context)
Citation Context ...ive an O (m)-space partially persistent form of any balanced search tree with an O(1) amortized update time for insertion and deletion. Such trees include weightbalanced trees [3,23] and weak B-trees =-=[14,15,19]-=-. Increasing the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links [4,15]. Thus we can obtain a partially persistent form of finger se... |

90 |
Maintaining Order in a Linked List
- Dietz
- 1982
(Show Context)
Citation Context ...ed to be able to answer order queries of the following kind: given two versions i and j, determine whether i precedes or follows j in the version list. Tsakalidis [34], building on the ideas of Dietz =-=[10]-=-, and Sleator [29] have proposed list representations supporting such queries in O(1) worst-case time, with an O(1) amortized time bound for insertion. We can use either of these data structures to re... |

81 | Incremental context-dependent analysis for language-based editors
- Reps, Teitelbaum, et al.
- 1983
(Show Context)
Citation Context ...ing a change to the structure destroys the old version, leaving only the new one. However, in a variety of problems in such areas as computational geometry [6,9,11,24,25,28,30], text and file editing =-=[26]-=-, and implementation of very high level programming languages [18], multiple versions of a data structure must be maintained. We shall call a data structure persistent if it supports access to multipl... |

80 |
Binary search trees of bounded balance
- Nievergelt, Reingold
- 1973
(Show Context)
Citation Context ...lies more generally to give an O (m)-space partially persistent form of any balanced search tree with an O(1) amortized update time for insertion and deletion. Such trees include weightbalanced trees =-=[3,23]-=- and weak B-trees [14,15,19]. Increasing the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links [4,15]. Thus we can obtain a partially ... |

68 |
Data Structures and Network Algorithms, Society for Industrial and Applied Mathematics
- Tarjan
- 1987
(Show Context)
Citation Context ...ly a balanced search tree, persistent. We shall discuss a particular kind of search tree, the rod-black tree, although our ideas apply as well to certain other kinds of search trees. A red-black tree =-=[12,31,32]-=- is a binary search tree, each node of which is colored either red or black, subject to the following three constraints: (i) (Missing node convention) Every missing (external) node is regarded as bein... |

50 | Design and analysis of a data structure for representing sorted lists - Brown, Tarjan - 1980 |

49 |
Searching and storing similar lists
- Cole
- 1986
(Show Context)
Citation Context ...ructures are ephemeral in the sense that making a change to the structure destroys the old version, leaving only the new one. However, in a variety of problems in such areas as computational geometry =-=[6,9,11,24,25,28,30]-=-, text and file editing [26], and implementation of very high level programming languages [18], multiple versions of a data structure must be maintained. We shall call a data structure persistent if i... |

35 | Organization of large ordered indexes - Bayer, McCreight - 1972 |

35 |
Efficient Applicative Data Types
- Myers
- 1984
(Show Context)
Citation Context ...time for an access operation is O (log n), as is the amortized time of an insertion or deletion. The only competitive method for obtaining full persistence of search trees, due independently to Myers =-=[20,22]-=-, Krijnen and Meertens [18], Reps, Teitelbaum, and Demers [26], and Swart [30], requires O (log n) space and time in the worst case per insertion or deletion. (See [28].) Thus our method saves a logar... |

33 | Maintaining order in a generalized linked list - Tsakalidis - 1984 |

26 |
How to Search in History
- Chazelle
- 1985
(Show Context)
Citation Context ...ructures are ephemeral in the sense that making a change to the structure destroys the old version, leaving only the new one. However, in a variety of problems in such areas as computational geometry =-=[6,9,11,24,25,28,30]-=-, text and file editing [26], and implementation of very high level programming languages [18], multiple versions of a data structure must be maintained. We shall call a data structure persistent if i... |

23 | Real-time queue operations - Hood, Melville - 1981 |

22 |
On the average number of rebalancing operations in weight-balanced trees
- BLUM, MEHLHORN
- 1980
(Show Context)
Citation Context ...lies more generally to give an O (m)-space partially persistent form of any balanced search tree with an O(1) amortized update time for insertion and deletion. Such trees include weightbalanced trees =-=[3,23]-=- and weak B-trees [14,15,19]. Increasing the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links [4,15]. Thus we can obtain a partially ... |

21 |
Efficient uses of the past
- Dobkin, Munro
- 1980
(Show Context)
Citation Context ...ructures are ephemeral in the sense that making a change to the structure destroys the old version, leaving only the new one. However, in a variety of problems in such areas as computational geometry =-=[6,9,11,24,25,28,30]-=-, text and file editing [26], and implementation of very high level programming languages [18], multiple versions of a data structure must be maintained. We shall call a data structure persistent if i... |

21 |
Localized search in sorted lists
- Kosaraju
- 1981
(Show Context)
Citation Context ...ng the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links [4,15]. Thus we can obtain a partially persistent form of finger search tree =-=[4,15,16,17,35,36]-=- occupying O(m) space, with only a constant factor blow-up in the amortized access and update times over their ephemeral counterparts. Let us turn to the problem of making a red-black tree fully persi... |

14 | Updating a Balanced Search Tree - Tarjan - 1983 |

13 | An applicative random-access stack - Myers - 1983 |

13 |
Searching in the past
- Overmars
- 1981
(Show Context)
Citation Context |

13 |
Persistent data structures
- Sarnak
- 1986
(Show Context)
Citation Context ...vermars [25], discussed in Section 2, there has been no systematic study of persistence. Providing such a study is our purpose in this paper, which is an outgrowth of the second author's Ph.D. thesis =-=[27]-=-. We shall discuss generic techniques for making linked data structures persistent at small cost in time and space efficiency. Since we want to take a general approach, we need to specify exactly what... |

12 |
Searching in the past ii: general transforms
- Overmars
- 1981
(Show Context)
Citation Context |

10 |
Updating a balanced search tree in O(1) rotations
- TARJAN
- 1983
(Show Context)
Citation Context ...ly a balanced search tree, persistent. We shall discuss a particular kind of search tree, the rod-black tree, although our ideas apply as well to certain other kinds of search trees. A red-black tree =-=[12,31,32]-=- is a binary search tree, each node of which is colored either red or black, subject to the following three constraints: (i) (Missing node convention) Every missing (external) node is regarded as bein... |

10 | Meertens. Making B-trees work for B - Krijnen, T - 1983 |

10 | AVL dags - Myers - 1982 |

8 |
An efficient scheme for fast local updates in linear lists
- HUDDLESTON
- 1981
(Show Context)
Citation Context ...ng the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links [4,15]. Thus we can obtain a partially persistent form of finger search tree =-=[4,15,16,17,35,36]-=- occupying O(m) space, with only a constant factor blow-up in the amortized access and update times over their ephemeral counterparts. Let us turn to the problem of making a red-black tree fully persi... |

8 |
Efficient algorithms for computing geometric intersections
- Swart
- 1985
(Show Context)
Citation Context |

7 |
S.C.: Hysterical B-trees
- Maier, Salveter
- 1979
(Show Context)
Citation Context ...ive an O (m)-space partially persistent form of any balanced search tree with an O(1) amortized update time for insertion and deletion. Such trees include weightbalanced trees [3,23] and weak B-trees =-=[14,15,19]-=-. Increasing the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links [4,15]. Thus we can obtain a partially persistent form of finger se... |

5 | How to Search - Chazelle - 1985 |

5 | Tsakiladis. AVL-trees for localized search - K - 1985 |

4 |
Robust balancing in B-trees
- HUDDLESTON, MEHLHORN
- 1981
(Show Context)
Citation Context ...ive an O (m)-space partially persistent form of any balanced search tree with an O(1) amortized update time for insertion and deletion. Such trees include weightbalanced trees [3,23] and weak B-trees =-=[14,15,19]-=-. Increasing the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links [4,15]. Thus we can obtain a partially persistent form of finger se... |

4 |
Tarjan, "Planar point location using persistent search trees
- Sarnak, E
- 1986
(Show Context)
Citation Context |

4 | Persistent Data Structures,” Ph - SARNAK - 1986 |

4 | An Optimal Implementation for Localized Search,” A84/06, Fachbereich Angewandte Mathematik und Informatik, Universitat des Saarlandes - Tsakalidis - 1984 |

3 | Searching in the Past 11: General Transforms - OVERMARS - 1981 |

2 |
Tarjan, "Design and analysis of a data structure for representing sorted lists
- Brown, E
- 1980
(Show Context)
Citation Context ...ees include weightbalanced trees [3,23] and weak B-trees [14,15,19]. Increasing the number of extra pointers per node allows the addition of auxiliary pointers such as parent pointers and level links =-=[4,15]-=-. Thus we can obtain a partially persistent form of finger search tree [4,15,16,17,35,36] occupying O(m) space, with only a constant factor blow-up in the amortized access and update times over their ... |

1 | Real-time queue ol~rations in pure LISP - Hood, Melville - 1981 |

1 |
Meertens, "Making Btrees work for B
- Krijnen, T
- 1983
(Show Context)
Citation Context ...ly the new one. However, in a variety of problems in such areas as computational geometry [6,9,11,24,25,28,30], text and file editing [26], and implementation of very high level programming languages =-=[18]-=-, multiple versions of a data structure must be maintained. We shall call a data structure persistent if it supports access to multiple versions. The structure is partially persistent if all versions ... |

1 |
AVL dags
- Meyers
- 1982
(Show Context)
Citation Context ...time for an access operation is O (log n), as is the amortized time of an insertion or deletion. The only competitive method for obtaining full persistence of search trees, due independently to Myers =-=[20,22]-=-, Krijnen and Meertens [18], Reps, Teitelbaum, and Demers [26], and Swart [30], requires O (log n) space and time in the worst case per insertion or deletion. (See [28].) Thus our method saves a logar... |

1 | An improved method for maintaining order in a list,"to appear - Sleator |

1 | An Efficient Scheme for Fast Local Updates in Linear Lists - HUDDLESMN - 1981 |

1 | Localized search in sorted lists - Kosmu - 1981 |