TY - GEN
T1 - A persistent union-find data structure
AU - Conchon, Sylvain
AU - Filliâtre, Jean Christophe
PY - 2007/12/1
Y1 - 2007/12/1
N2 - The problem of disjoint sets, also known as union-find, consists in maintaining a partition of a finite set within a data structure. This structure provides two operations: a function find returning the class of an element and a function union merging two classes. An optimal and imperative solution is known since 1975. However, the imperative nature of this data structure may be a drawback when it is used in a backtracking algorithm. This paper details the implementation of a persistent union-find data structure as efficient as its imperative counterpart. To achieve this result, our solution makes heavy use of imperative features and thus it is a significant example of a data structure whose side effects are safely hidden behind a persistent interface. To strengthen this last claim, we also detail a formalization using the Coq proof assistant which shows both the correctness of our solution and its observational persistence.
AB - The problem of disjoint sets, also known as union-find, consists in maintaining a partition of a finite set within a data structure. This structure provides two operations: a function find returning the class of an element and a function union merging two classes. An optimal and imperative solution is known since 1975. However, the imperative nature of this data structure may be a drawback when it is used in a backtracking algorithm. This paper details the implementation of a persistent union-find data structure as efficient as its imperative counterpart. To achieve this result, our solution makes heavy use of imperative features and thus it is a significant example of a data structure whose side effects are safely hidden behind a persistent interface. To strengthen this last claim, we also detail a formalization using the Coq proof assistant which shows both the correctness of our solution and its observational persistence.
KW - Formal verification
KW - Persistence
KW - Union-find
U2 - 10.1145/1292535.1292541
DO - 10.1145/1292535.1292541
M3 - Conference contribution
AN - SCOPUS:38849112459
SN - 9781595936769
T3 - ML'07: Proceedings of the 2007 Workshop on ML
SP - 37
EP - 46
BT - ML'07
T2 - ML'07: 2007 Workshop on ML
Y2 - 5 October 2007 through 5 October 2007
ER -