Self-adjusting binary search trees
Journal of the ACM (JACM)
A new approach to the maximum-flow problem
Journal of the ACM (JACM)
A data structure for dynamic trees
Journal of Computer and System Sciences
Improved time bounds for the maximum flow problem
SIAM Journal on Computing
Use of dynamic trees in a network simplex algorithm for the maximum flow problem
Mathematical Programming: Series A and B
Ambivalent Data Structures for Dynamic 2-Edge-Connectivity and k Smallest Spanning Trees
SIAM Journal on Computing
A data structure for dynamically maintaining rooted trees
Journal of Algorithms
Dynamic trees as search trees via Euler tours, applied to the network simplex algorithm
Mathematical Programming: Series A and B
Randomized fully dynamic graph algorithms with polylogarithmic time per operation
Journal of the ACM (JACM)
Minimizing Diameters of Dynamic Trees
ICALP '97 Proceedings of the 24th International Colloquium on Automata, Languages and Programming
Dynamizing static algorithms, with applications to dynamic trees and history independence
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Maintaining information in fully dynamic trees with top trees
ACM Transactions on Algorithms (TALG)
Design of data structures for mergeable trees
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
An O (n log n) algorithm for maximum st-flow in a directed planar graph
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
A subset spanner for Planar graphs,: with application to subset TSP
Proceedings of the thirty-eighth annual ACM symposium on Theory of computing
Multiple source shortest paths in a genus g graph
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
An O(n log n) algorithm for maximum st-flow in a directed planar graph
Journal of the ACM (JACM)
Journal of Experimental Algorithmics (JEA)
An experimental analysis of self-adjusting computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
WEA'07 Proceedings of the 6th international conference on Experimental algorithms
WEA'07 Proceedings of the 6th international conference on Experimental algorithms
Self-adjusting computation with Delta ML
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Maximum flows and parametric shortest paths in planar graphs
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
Data structures for mergeable trees
ACM Transactions on Algorithms (TALG)
Dealing with large hidden constants: engineering a planar steiner tree PTAS
Journal of Experimental Algorithmics (JEA)
Linear-space approximate distance oracles for planar, bounded-genus and minor-free graphs
ICALP'11 Proceedings of the 38th international colloquim conference on Automata, languages and programming - Volume Part I
Shortest path based planar graph cuts for bi-layer segmentation of binocular stereo video
ACCV'10 Proceedings of the 2010 international conference on Computer vision - Volume part II
Computing replacement paths in surface embedded graphs
Proceedings of the twenty-second annual ACM-SIAM symposium on Discrete Algorithms
A deterministic o(m log m) time algorithm for the reeb graph
Proceedings of the twenty-eighth annual symposium on Computational geometry
Structured recursive separator decompositions for planar graphs in linear time
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Hi-index | 0.00 |
The dynamic trees problem is that of maintaining a forest that changes over time through edge insertions and deletions. We can associate data with vertices or edges, and manipulate this data individually or in bulk, with operations that deal with whole paths or trees. Efficient solutions to this problem have numerous applications, particularly in algorithms for network flows and dynamic graphs in general. Several data structures capable of logarithmic-time dynamic tree operations have been proposed. The first was Sleator and Tarjan's ST-tree [16, 17], which represents a partition of the tree into paths. Although reasonably fast in practice, adapting ST-trees to different applications is nontrivial. Topology trees [9], top trees [3], and RC-trees [1] are based on tree contractions: they progressively combine vertices or edges to obtain a hierarchical representation of the tree. This approach is more flexible in theory, but all known implementations assume the trees have bounded degree; arbitrary trees are supported only after ternarization. We show how these two approaches can be combined (with very little overhead) to produce a data structure that is as generic as any other, very easy to adapt, and as practical as ST-trees.