A Data Structure for Dynamic Trees

A Data Structure for Dynamic Trees

June 1983 | DANIEL D. SLEATOR AND ROBERT ENDRE TARJAN
This paper presents a data structure for maintaining a collection of vertex-disjoint trees under a sequence of link and cut operations, achieving O(log n) time per operation. The data structure supports efficient dynamic tree operations, including link, cut, and evert, and is used to develop fast algorithms for various graph-theoretic problems. The key idea is to partition each tree into vertex-disjoint paths, allowing efficient manipulation of tree structures. The data structure is implemented using biased binary trees, which enable efficient path operations and maintain logarithmic time complexity. The paper also discusses variations of the data structure and its applications, including computing nearest common ancestors, solving network flow problems, and implementing the network simplex algorithm. The results extend and improve previous work by Sleator and Tarjan, providing efficient solutions for dynamic tree problems.This paper presents a data structure for maintaining a collection of vertex-disjoint trees under a sequence of link and cut operations, achieving O(log n) time per operation. The data structure supports efficient dynamic tree operations, including link, cut, and evert, and is used to develop fast algorithms for various graph-theoretic problems. The key idea is to partition each tree into vertex-disjoint paths, allowing efficient manipulation of tree structures. The data structure is implemented using biased binary trees, which enable efficient path operations and maintain logarithmic time complexity. The paper also discusses variations of the data structure and its applications, including computing nearest common ancestors, solving network flow problems, and implementing the network simplex algorithm. The results extend and improve previous work by Sleator and Tarjan, providing efficient solutions for dynamic tree problems.
Reach us at info@study.space
[slides and audio] A data structure for dynamic trees