# Dynamic trees as search trees via euler tours, applied to the network simplex algorithm

- 352 Downloads
- 13 Citations

## Abstract

The*dynamic 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(log*n*) per tree operation, where*n* 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(log*n*) per pivot, where*n* is the number of vertices in the problem network.

## Keywords

Search Tree Tree Operation Dynamic Tree Minimum Cost Flow Euler Tour## Preview

Unable to display preview. Download preview PDF.

## References

- [1]G.M. Adel’son-Vel’skii and E.M. Landis, An algorithm for the organization of information,
*Soviet Math. Dokl.*3 (1962) 1259–1262.Google Scholar - [2]R. Bayer and E. McCreight, Organization of large ordered indexes,
*Acta Inform*. 1 (1972) 173–189.CrossRefGoogle Scholar - [3]S. Bent, D. Sleator and R.E. Tarjan, Biased search trees,
*SIAM J. Computing*14 (1985) 545–568.zbMATHCrossRefMathSciNetGoogle Scholar - [4]R.F. Cohen and R. Tamassia, Dynamic expression trees and their applications,
*Proc. 2nd ACM-SIAM Symposium on Discrete Algorithms*(1991) 52–61.Google Scholar - [5]J. Edmonds and R.M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems,
*J. Assoc. Comput. Mach.*19 (1972) 248–264.zbMATHGoogle Scholar - [6]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.Google Scholar - [7]G.N. Frederickson, Data structures for on-line updating of minimum spanning trees,
*SIAM J. Comput.*14 (1985) 781–798.zbMATHCrossRefMathSciNetGoogle Scholar - [8]G.N. Frederickson, Ambivalent data structures for dynamic 2-edge-connectivity and
*k*smallest spanning trees,*Proc. 32nd IEEE Symp. on Foundations of Computer Science*(1991) 632–641.Google Scholar - [9]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.zbMATHCrossRefMathSciNetGoogle Scholar - [10]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.zbMATHCrossRefMathSciNetGoogle Scholar - [11]A.V. Goldberg and R.E. Tarjan, A new approach to the maximum flow problem,
*J. Assoc. Comput. Mach.*35 (1988) 921–940.zbMATHMathSciNetGoogle Scholar - [12]A.V. Goldberg and R.E. Tarjan, Finding minimum-cost circulations by canceling negative cycles,
*J. Assoc. Comput. Mach.*36 (1989) 873–886.zbMATHMathSciNetGoogle Scholar - [13]A.V. Goldberg and R.E. Tarjan, Finding minimum-cost circulations by successive approximation,
*Math. of Oper. Res.*15 (1990) 430–466.zbMATHMathSciNetCrossRefGoogle Scholar - [14]D. Goldfarb and J. Hao, A primal simplex algorithm that solves the maximum flow problem in at most
*nm*pivots and O(*n*^{2}m) time,*Mathematical Programming*47 (1990) 353–365.zbMATHCrossRefMathSciNetGoogle Scholar - [15]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.Google Scholar - [16]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.Google Scholar - [17]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.Google Scholar - [18]P.B. Miltersen, S. Subramanian, J.S. Vitter and R. Tamassia, Complexity models for incremental computation,
*Theoretical Computer Science*130 (1994) 203–236.zbMATHCrossRefMathSciNetGoogle Scholar - [19]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.Google Scholar - [20]J.B. Orlin, A polynomial time primal network simplex algorithm for minimum cost flows,
*Mathematical Programming*78 (1997) 109–129.CrossRefMathSciNetGoogle Scholar - [21]D. Sleator and R.E. Tarjan, A data structure for dynamic trees,
*J. Computer and System Sciences*26 (1983) 362–391.zbMATHCrossRefMathSciNetGoogle Scholar - [22]D. Sleator and R.E. Tarjan, Self-adjusting binary search trees,
*J. Assoc. Comput. Mach.*32 (1985) 652–686.zbMATHMathSciNetGoogle Scholar - [23]R.E. Tarjan, Efficiency of the primal network simplex algorithm for the minimum-cost circulation problem,
*Math. of Oper. Res.*16 (1991) 272–291.zbMATHMathSciNetGoogle Scholar - [24]R.E. Tarjan, Updating a balanced search tree in O(1) rotations,
*Information Processing Letters*16 (1983) 253–257.zbMATHCrossRefMathSciNetGoogle Scholar - [25]R.E. Tarjan, Data Structures and Network Algorithms,
*CBMS*44, Society for Industrial and Applied Mathematics, Philadelphia, PA, 1983.Google Scholar - [26]R.E. Tarjan and U. Vishkin, An efficient parallel biconnectivity algorithm,
*SIAM J. Comput.*14 (1985) 862–874.zbMATHCrossRefMathSciNetGoogle Scholar