Abstract
Thedynamic tree is an abstract data type that allows the maintenance of a collection of trees subject to joining by adding edges (linking) and splitting by deleting edges (cutting), while at the same time allowing reporting of certain combinations of vertex or edge values. For many applications of dynamic trees, values must be combined along paths. For other applications, values must be combined over entire trees. For the latter situation, an idea used originally in parallel graph algorithms, to represent trees by Euler tours, leads to a simple implementation with a time of O(logn) per tree operation, wheren is the number of tree vertices. We apply this representation to the implementation of two versions of the network simplex algorithm, resulting in a time of O(logn) per pivot, wheren is the number of vertices in the problem network.
Similar content being viewed by others
References
G.M. Adel’son-Vel’skii and E.M. Landis, An algorithm for the organization of information,Soviet Math. Dokl. 3 (1962) 1259–1262.
R. Bayer and E. McCreight, Organization of large ordered indexes,Acta Inform. 1 (1972) 173–189.
S. Bent, D. Sleator and R.E. Tarjan, Biased search trees,SIAM J. Computing 14 (1985) 545–568.
R.F. Cohen and R. Tamassia, Dynamic expression trees and their applications,Proc. 2nd ACM-SIAM Symposium on Discrete Algorithms (1991) 52–61.
J. Edmonds and R.M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems,J. Assoc. Comput. Mach. 19 (1972) 248–264.
D. Eppstein, G.F. Italiano, R. Tamassia, R.E. Tarjan, J. Westbrook and M. Yung, Maintenance of a minimum spanning forest in a dynamic planar graph,Proc. 1st ACM-SIAM Symp. on Discrete Algorithms (1990) 1–11.
G.N. Frederickson, Data structures for on-line updating of minimum spanning trees,SIAM J. Comput. 14 (1985) 781–798.
G.N. Frederickson, Ambivalent data structures for dynamic 2-edge-connectivity andk smallest spanning trees,Proc. 32nd IEEE Symp. on Foundations of Computer Science (1991) 632–641.
H.N. Gabow, Z. Galil, T. Spencer and R.E. Tarjan, Efficient algorithms for finding minimum spanning trees in undirected and directed graphs,Combinatorica 6 (1986) 109–122.
A.V. Goldberg, M.D. Grigoriadis, and R.E. Tarjan, Use of dynamic trees in a network simplex algorithm for the maximum flow problems,Math. Prog. 50 (1991) 277–290.
A.V. Goldberg and R.E. Tarjan, A new approach to the maximum flow problem,J. Assoc. Comput. Mach. 35 (1988) 921–940.
A.V. Goldberg and R.E. Tarjan, Finding minimum-cost circulations by canceling negative cycles,J. Assoc. Comput. Mach. 36 (1989) 873–886.
A.V. Goldberg and R.E. Tarjan, Finding minimum-cost circulations by successive approximation,Math. of Oper. Res. 15 (1990) 430–466.
D. Goldfarb and J. Hao, A primal simplex algorithm that solves the maximum flow problem in at mostnm pivots and O(n 2m) time,Mathematical Programming 47 (1990) 353–365.
L.J. Guibas and R. Sedgewick, A dichromatic framework for balanced trees,Proc. 19th Annual IEEE Symposium on Foundations of Computer Science (1978) 8–21.
M.R. Henzinger and V. King, Randomized dynamic graph algorithms with polylogarithmic time per operation,Proc. 27th Annual ACM Symp. on Theory of Computing (1995) 519–527.
G.L. Miller and J.H. Reif, Parallel tree contraction and its application,Proc. 26th Annual IEEE Symp. on Foundations of Comp. Sci. (1985) 478–489.
P.B. Miltersen, S. Subramanian, J.S. Vitter and R. Tamassia, Complexity models for incremental computation,Theoretical Computer Science 130 (1994) 203–236.
J.B. Orlin, A polynomial time primal network simplex algorithm for minimum cost flows (an extended abstract),Proc. 7th ACM-SIAM Symp. on Discrete Algorithms (1996) 474–481.
J.B. Orlin, A polynomial time primal network simplex algorithm for minimum cost flows,Mathematical Programming 78 (1997) 109–129.
D. Sleator and R.E. Tarjan, A data structure for dynamic trees,J. Computer and System Sciences 26 (1983) 362–391.
D. Sleator and R.E. Tarjan, Self-adjusting binary search trees,J. Assoc. Comput. Mach. 32 (1985) 652–686.
R.E. Tarjan, Efficiency of the primal network simplex algorithm for the minimum-cost circulation problem,Math. of Oper. Res. 16 (1991) 272–291.
R.E. Tarjan, Updating a balanced search tree in O(1) rotations,Information Processing Letters 16 (1983) 253–257.
R.E. Tarjan, Data Structures and Network Algorithms,CBMS 44, Society for Industrial and Applied Mathematics, Philadelphia, PA, 1983.
R.E. Tarjan and U. Vishkin, An efficient parallel biconnectivity algorithm,SIAM J. Comput. 14 (1985) 862–874.
Author information
Authors and Affiliations
Additional information
Research at Princeton University partially supported by the National Science Foundation, Grant No. CCR-8920505, and the Office of Naval Research, Contract No. N0014-91-J-1463. Work during a visit to M.I.T. partially supported by ARPA Contract No. 14-95-1-1246.
Rights and permissions
About this article
Cite this article
Tarjan, R.E. Dynamic trees as search trees via euler tours, applied to the network simplex algorithm. Mathematical Programming 78, 169–177 (1997). https://doi.org/10.1007/BF02614369
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02614369