Skip to main content

Dynamic Trees

  • Reference work entry
  • First Online:
Encyclopedia of Algorithms
  • 186 Accesses

Years and Authors of Summarized Original Work

  • 2005; Tarjan, Werneck

Problem Definition

The dynamic tree problem is that of maintaining an arbitrary n-vertex forest that changes over time through edge insertions (links) and deletions (cuts). Depending on the application, one associates information with vertices, edges, or both. Queries and updates can deal with individual vertices or edges, but more commonly they refer to entire paths or trees. Typical operations include finding the minimum-cost edge along a path, determining the minimum-cost vertex in a tree, or adding a constant value to the cost of each edge on a path (or of each vertex of a tree). Each of these operations, as well as links and cuts, can be performed in \( { O(\log n) } \) time with appropriate data structures.       

Key Results

Fig.1
figure 434 figure 434

An ST-tree (Adapted from [14]). On the left, the original tree, rooted at a and already partitioned into paths; on the right, the actual data structure. Solid edgesconnect nodes on the same...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,599.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,999.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Recommended Reading

  1. Acar UA, Blelloch GE, Harper R, Vittes JL, Woo SLM (2004) Dynamizing static algorithms, with applications to dynamic trees and history independence. In: Proceedings of the 15th annual ACM-SIAM symposium on discrete algorithms (SODA). SIAM, pp 524–533

    Google Scholar 

  2. Acar UA, Blelloch GE, Vittes JL (2005) An experimental analysis of change propagation in dynamic trees. In: Proceedings of the 7th workshop on algorithm engineering and experiments (ALENEX). pp 41–54

    Google Scholar 

  3. Alstrup S, Holm J, de Lichtenberg K, Thorup M (1997) Minimizing diameters of dynamic trees. In: Proceedings of the 24th international colloquium on automata, languages and programming (ICALP), Bologna, 7–11 July 1997. Lecture notes in computer science, vol 1256. Springer, pp 270–280

    Google Scholar 

  4. Alstrup S, Holm J, Thorup M, de Lichtenberg K (2005) Maintaining information in fully dynamic trees with top trees. ACM Trans Algorithm 1(2):243–264

    Article  MathSciNet  MATH  Google Scholar 

  5. Bent SW, Sleator DD, Tarjan RE (1985) Biased search trees. SIAM J Comput 14(3):545–568

    Article  MathSciNet  MATH  Google Scholar 

  6. Frederickson GN (1985) Data structures for on-line update of minimum spanning trees, with applications. SIAM J Comput 14(4):781–798

    Article  MathSciNet  MATH  Google Scholar 

  7. Frederickson GN (1997) Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees. SIAM J Comput 26(2):484–538

    Article  MathSciNet  MATH  Google Scholar 

  8. Frederickson GN (1997) A data structure for dynamically maintaining rooted trees. J Algorithms 24(1):37–65

    Article  MathSciNet  MATH  Google Scholar 

  9. Goldberg AV, Grigoriadis MD, Tarjan RE (1991) Use of dynamic trees in a network simplex algorithm for the maximum flow problem. Math Program 50:277–290

    Article  MathSciNet  MATH  Google Scholar 

  10. Henzinger MR, King V (1997) Randomized fully dynamic graph algorithms with polylogarihmic time per operation. In: Proceedings of the 27th annual ACM symposium on theory of computing (STOC), pp 519–527

    Google Scholar 

  11. Miller GL, Reif JH (1985) Parallel tree contraction and its applications. In: Proceedings of the 26th annual IEEE symposium on foundations of computer science (FOCS), pp 478–489

    Google Scholar 

  12. Pătraşcu M, Demaine ED (2004) Lower bounds for dynamic connectivity. In: Proceedings of the 36th annual ACM symposium on theory of computing (STOC), pp 546–553

    Google Scholar 

  13. Sleator DD, Tarjan RE (1983) A data structure for dynamic trees. J Comput Syst Sci 26(3):362–391

    Article  MathSciNet  MATH  Google Scholar 

  14. Sleator DD, Tarjan RE (1985) Self-adjusting binary search trees. J ACM 32(3):652–686

    Article  MathSciNet  MATH  Google Scholar 

  15. Tarjan RE (1997) Dynamic trees as search trees via Euler tours, applied to the network simplex algorithm. Math Program 78:169–177

    MathSciNet  MATH  Google Scholar 

  16. Tarjan RE, Werneck RF (2005) Self-adjusting top trees. In: Proceedings of the 16th annual ACM-SIAM symposium on discrete algorithms (SODA), pp 813–822

    Google Scholar 

  17. Tarjan RE, Werneck RF (2007) Dynamic trees in practice. In: Proceedings of the 6th workshop on experimental algorithms (WEA). Lecture notes in computer science, vol 4525, pp 80–93

    Google Scholar 

  18. Werneck RF (2006) Design and analysis of data structures for dynamic trees. PhD thesis, Princeton University

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer Science+Business Media New York

About this entry

Cite this entry

Werneck, R.F. (2016). Dynamic Trees. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_121

Download citation

Publish with us

Policies and ethics