This applet demonstrates various types of minimum-length
interconnection trees; you can grab the terminals and move them around
to see how the interconnections are affected.
A minimum spanning tree is a minimum-length
interconnection of a set of terminals that uses only edges between the
To do: Add other types of trees (Steiner trees, mixed
shortest-path/minimum spanning trees, etc.).
Also add rectilinear, rather than Euclidean, trees.
Finally, break out the tree-computation routines into separate threads
and/or use faster algorithms so they don't slow down mouse dragging.
(Note added 1/1/99: I doubt I'll ever do these things, so if you are so
inclined, feel free to use my code as a starting point. Please let me
know that you did, though.)
Note 2-24-04: There is a pretty cool Euclidean Steiner tree applet
Source code: Tree.java.