Skip to content
Self Adjusting Top Tree Java5 Implementation
Java Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Self-Adjusting Top Trees Implementation and Demonstration

Maintaining a forest that changes over time through edge insertions and deletions is a well known problem. This implementation focuses on the simplified Top Tree interface which allows to solve a number of interesting graph problems like finding common ancestors, the heaviest edge, maintaining the diameter, center, or median and other (mostly network flow) problems. Using Top Tree interfaces all of outline problems can be solved in a clean declarative way. Our implementation uses adapting ST-trees as the underlying data structure achieving O(log n) time per expose(v,w) operation.

See: R. E. Tarjan, R. F. Werneck: Self-Adjusting Top Trees -- (paper)
     R. E. Tarjan, R. F. Werneck: Self-Adjusting Top Trees -- (presentation)

The demo shows a number of scripts in a simplified programming language TFL (translated to pure Java implementation) containing full solution of graph problems as outlined by Alstroup et. al in Maintaining Information in Fully-Dynamic Trees with Top Trees in O(log n) time. It also shows an easy way how to do an integration of toptree library and the host application.

See: S. Alstrup, J. Holm, K. de Lichtenberg, M. Thorup: Maintaining Information in Fully Dynamic Trees with Top Trees --

Technical Info
The library and the demonstration requires Java 5 and Maven 2.x or later versions.
Something went wrong with that request. Please try again.