Results 1 
3 of
3
A Persistent UnionFind Data Structure
"... Abstract The problem of disjoint sets, also known as unionfind, consistsin maintaining a partition of a finite set within a data structure. ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
Abstract The problem of disjoint sets, also known as unionfind, consistsin maintaining a partition of a finite set within a data structure.
SemiPersistent 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 semipersistence, where only ancestors of the most recent version can be accessed or updated. Making a data structur ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
(Show Context)
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 semipersistence, where only ancestors of the most recent version can be accessed or updated. Making a data structure semipersistent 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 semipersistent 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 semipersistent data structures (arrays, lists and hash tables). 1
unknown title
"... destructive unifications of nongeneralized type variables must be undone when typing errors are encountered. • Decision procedures: Another example of a unionfind 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
(Show Context)
destructive unifications of nongeneralized type variables must be undone when typing errors are encountered. • Decision procedures: Another example of a unionfind 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