Class TreeUtils

java.lang.Object
edu.uci.ics.jung.graph.util.TreeUtils

public class TreeUtils extends Object
Contains static methods for operating on instances of Tree.
  • Constructor Details

    • TreeUtils

      public TreeUtils()
  • Method Details

    • getRoots

      public static <V, E> List<V> getRoots(Forest<V,E> forest)
      Type Parameters:
      V - the vertex type
      E - the edge type
      Parameters:
      forest - the forest whose roots are to be returned
      Returns:
      the roots of this forest.
    • getSubTree

      public static <V, E> Tree<V,E> getSubTree(Forest<V,E> forest, V root) throws InstantiationException, IllegalAccessException
      Returns the subtree of tree which is rooted at root as a Forest. The tree returned is an independent entity, although it uses the same vertex and edge objects.
      Type Parameters:
      V - the vertex type
      E - the edge type
      Parameters:
      forest - the tree whose subtree is to be extracted
      root - the root of the subtree to be extracted
      Returns:
      the subtree of tree which is rooted at root
      Throws:
      InstantiationException - if a new tree of the same type cannot be created
      IllegalAccessException - if a new tree of the same type cannot be created
    • growSubTree

      public static <V, E> void growSubTree(Forest<V,E> tree, Forest<V,E> subTree, V root)
      Populates subtree with the subtree of tree which is rooted at root.
      Type Parameters:
      V - the vertex type
      E - the edge type
      Parameters:
      tree - the tree whose subtree is to be extracted
      subTree - the tree instance which is to be populated with the subtree of tree
      root - the root of the subtree to be extracted
    • addSubTree

      public static <V, E> void addSubTree(Forest<V,E> tree, Forest<V,E> subTree, V node, E connectingEdge)
      Connects subTree to tree by attaching it as a child of node with edge connectingEdge.
      Type Parameters:
      V - the vertex type
      E - the edge type
      Parameters:
      tree - the tree to which subTree is to be added
      subTree - the tree which is to be grafted on to tree
      node - the parent of subTree in its new position in tree
      connectingEdge - the edge used to connect subtree's root as a child of node
    • addFromSubTree

      public static <V, E> void addFromSubTree(Forest<V,E> tree, Forest<V,E> subTree, E edge, V parent, V root)