TY - JOUR

T1 - Dynamic trees as search trees via Euler tours, applied to the network simplex algorithm

AU - Tarjan, Robert E.

N1 - Funding Information:
J 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 MI.T. partially supported by ARPA Contract No. 14-95-1-1246. Email: ret@cs.princeton.edu.

PY - 1997/8/1

Y1 - 1997/8/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=0031212426&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0031212426&partnerID=8YFLogxK

U2 - 10.1007/BF02614369

DO - 10.1007/BF02614369

M3 - Article

AN - SCOPUS:0031212426

SN - 0025-5610

VL - 78

SP - 169

EP - 177

JO - Mathematical Programming, Series B

JF - Mathematical Programming, Series B

IS - 2

ER -