Jump to content

Link/cut tree

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 134.117.27.24 (talk) at 17:16, 12 March 2013. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Splay tree
Typetree
Invented1982
Invented byDaniel Dominic Sleator and Robert Endre Tarjan
Time complexity in big O notation
Operation Average Worst case
Space complexity
Space O(n) O(n)

A link/cut tree is a type of data structure that can merge (link) and split (cut) and jive data sets in O(log(n)) amortized time, and can find which tree an element belongs to in O(log(2n)) amortized time. Link-Cut trees divide a represented tree into vertex-disjoint paths, where each path is represented by an auxiliary tree (often splay trees, though the original paper pre-dates splay trees and thus uses biased binary search trees), with nodes being keyed by their depth in the represented tree. The overall structure is thus a forest of trees. The underlying represented tree is not modified. In one variation, Naive Partitioning, the paths are determined by the most recently accessed paths and nodes, similar to Tango Trees. In Partitioning by Size paths are determined by the heaviest child (child with the most children) of the given node. This gives a more complicated structure, but reduces the cost of the operations from amortized O(log n) to worst case O(log n). It has uses in solving a variety of network flow problems. In the original publication, Sleator and Tarjan referred to link/cut trees as “dynamic dyno trees”

Structure

See also

Further reading

  • Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1145/800076.802464, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1145/800076.802464 instead.
  • Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1145/3828.3835, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1145/3828.3835 instead.
  • Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1145/76359.76368, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1145/76359.76368 instead. — Application to min-cost circulation
  • http://compgeom.cs.uiuc.edu/~jeffe/teaching/datastructures/2006/notes/07-linkcut.pdf