A Data Structure for Nearest Common Ancestors with Linking
Abstract
Consider a forest that evolves via link operations that make the root of one tree the child of a node in another tree. Intermixed with link operations are nca operations, which return the nearest common ancestor of two given nodes when such exists. This paper shows that a sequence of m such nca and link operations on a forest of n nodes can be processed on-line in time O(mα(m,n)+n). This was previously known only for a restricted type of link operation. The special case where a link only extends a tree by adding a new leaf occurs in Edmonds' algorithm for finding a maximum weight matching on a general graph. Incorporating our algorithm into the implementation of Edmonds' algorithm in G17 achieves time O(n(m + n n)) for weighted matching, an arguably optimum asymptotic bound (n and m are the number of vertices and edges, respectively).
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.