## A Persistent Union-Find Data Structure

Citations: | 8 - 0 self |

### BibTeX

@MISC{Conchon_apersistent,

author = {Sylvain Conchon},

title = {A Persistent Union-Find Data Structure},

year = {}

}

### OpenURL

### Abstract

Abstract The problem of disjoint sets, also known as union-find, consistsin maintaining a partition of a finite set within a data structure.

### Citations

74 |
Rivest: Introduction to Algorithms
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ....An optimal solution is known since the 70s. It is attributed to McIlroy and Morris [3] and its complexity was analyzed byTarjan [17]2. It is a classic of the algorithmic literature (see for instance =-=[11]-=- chapter 22). The code of this solution is given inappendix. The main idea is to link together the elements of each class. For this purpose, the array parent maps each integer i toanother integer of t... |

11 |
Purely Functional Data Structures. Cambridge Univ Pr
- Okasaki
- 1999
(Show Context)
Citation Context ...assistant [1, 6] to show both the correctness of our solution and its observational persistence.There are known techniques to design persistent data structures based on purely applicative programming =-=[14]-=- but there isno efficient solution to the union-find problem in this framework. There are also techniques to make imperative data structures per-sistent [12] but, again, they were not applied to the u... |

7 | Fully persistent arrays for efficient incremental updates and voluminous reads - Chuang |

3 |
Conchon and Evelyne Contejean. Ergo: A Decision Procedure for Program Verification. http://ergo.lri.fr
- Sylvain
(Show Context)
Citation Context ...usion of persis-tence. 3. Performance We tried to test the efficiency of our solution in a situation asrealistic as possible. For this purpose we looked at the use made by the Ergo decision procedure =-=[8]-=- of its internal union-find datastructure. We distinguish three parameters: * the number of backtracks; * the total number of find and union operations between twobranchings, denoted N;* the proportio... |

3 |
Conchon and Jean-Christophe FilliĆ¢tre. Semi-Persistent Data Structures
- Sylvain
- 2007
(Show Context)
Citation Context ...ure (the data is made invalid when wedo the backtrack) but it would be even more efficient if we checked statically the legal use of this semi-persistence. Such a static anal-ysis is work in progress =-=[9]-=-. A. Imperative Union-Find Algorithm The following code implements the optimal imperative solution forunion-find, as described in the introduction. The data structure is a record containing two arrays... |

1 |
Data Structuresand Algorithms
- Aho, Hopcroft, et al.
- 1983
(Show Context)
Citation Context ...peration merges two classes of the partition, thedata structure being modified in place (hence the return type unit).An optimal solution is known since the 70s. It is attributed to McIlroy and Morris =-=[3]-=- and its complexity was analyzed byTarjan [17]2. It is a classic of the algorithmic literature (see for instance [11] chapter 22). The code of this solution is given inappendix. The main idea is to li... |

1 |
binding makes functional arrays fast.SIGPLAN Not
- Shallow
- 1991
(Show Context)
Citation Context ... very simpleway to improve this first implementation. 2.3.2 A Major Improvement To lower the cost of operations on previous versions of persistentarrays, H. Baker introduces a very simple improvement =-=[5]-=-: as soon as we try to access a persistent array which is not an immediatearray we first reverse the linked list leading to the Arr node, tomove it in front of the list, that is precisely where we wan... |