Class DominatorTree<V>

java.lang.Object
eu.bandm.tools.graph.DominatorTree<V>
All Implemented Interfaces:
GraphModel<V>, RootedGraphModel<V>

public class DominatorTree<V> extends Object implements RootedGraphModel<V>
Computes Dominator Forest. Caveat: naive implementation, cf. Cooper, Harvey and Kennedy (2001).
  • Constructor Details

  • Method Details

    • roots

      public Collection<? extends V> roots()
      Specified by:
      roots in interface RootedGraphModel<V>
    • neighbours

      public Collection<? extends V> neighbours(V node)
      Description copied from interface: GraphModel
      Return all nodes to which there is an edge from a given node. The order of nodes may or may not be significant to the application; it is ignored by all algorithms in this package. Multiple occurrences of the same node may or may not imply multiple edges, depending on the context.

      A return value of null indicates that the given node object is not part of the graph covered by this graph model. A graph model is called closed iff neighbours(v).contains(w) implies neighbours(w) != null for all node objects v, w. All traversal algorithms require graph models to be closed.

      Specified by:
      neighbours in interface GraphModel<V>
      Parameters:
      node - a node
      Returns:
      a read-only collection containing all neighbours of node, or null if node is not a node of the graph represented by this model.