Results 1 -
3 of
3
A Persistent Union-Find Data Structure
"... Abstract The problem of disjoint sets, also known as union-find, consistsin maintaining a partition of a finite set within a data structure. ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract The problem of disjoint sets, also known as union-find, consistsin maintaining a partition of a finite set within a data structure.
Semi-Persistent Data Structures
, 2007
"... A data structure is said to be persistent when any update operation returns a new structure without altering the old version. This paper introduces a new notion of persistence, called semi-persistence, where only ancestors of the most recent version can be accessed or updated. Making a data structur ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
A data structure is said to be persistent when any update operation returns a new structure without altering the old version. This paper introduces a new notion of persistence, called semi-persistence, where only ancestors of the most recent version can be accessed or updated. Making a data structure semi-persistent may improve its time and space complexity. This is of particular interest in backtracking algorithms manipulating persistent data structures, where this property is usually satisfied. We propose a proof system to statically check the valid use of semi-persistent data structures. It requires a few annotations from the user and then generates proof obligations that are automatically discharged by a dedicated decision procedure. Additionally, we give some examples of semi-persistent data structures (arrays, lists and hash tables). 1
unknown title
"... destructive unifications of non-generalized type variables must be undone when typing errors are encountered. • Decision procedures: Another example of a union-find data structure used within a backtracking algorithm are decision procedures where the treatment of equality is usually based on such a ..."
Abstract
- Add to MetaCart
destructive unifications of non-generalized type variables must be undone when typing errors are encountered. • Decision procedures: Another example of a union-find data structure used within a backtracking algorithm are decision procedures where the treatment of equality is usually based on such a structure and where the boolean part of formulas is mostly processed using backtracking [13, 16]. A standard solution to the issue of backtracking in data structures is to turn to persistent data structures (as opposed to ephemeral data structures) [12]. In this case, theunion operation now returns a new partition and leaves the previous one unchanged. The signature of such a persistent data structure could be the following: module type PersistentUnionFind = sig type t val create: int → t

