Versioning Tree Structures by Path-Merging

We propose path-merging as a refinement of techniques used to make linked data structures partially persistent. Path-merging supports bursts of operations between any two adjacent versions in contrast to only one operation in the original variant. The superiority of the method is shown both theoretically and experimentally. Details of the technique are explained for the case of binary search trees. Path-merging is particularly useful for the implementation of scan-line algorithms where many update operations on the sweep status structure have to be performed at the same event points. Examples are algorithms for planar point location, for answering intersection queries for sets of horizontal line segments, and for detecting conflicts in sets of 1-dim IP packet filters. Subject Classifications: E.1 [ Data ]: Data Structures --- trees; E.2 [ Data ]: Data Storage Representations --- linked representations; F.2.2 [ Analysis of Algorithms and Problem Complexity ] Nonnumerical Algorithms and Problems --- Geometrical problems and computations.