Class Cycle

All Implemented Interfaces:
Serializable, Cloneable, Iterable<Node>, Collection<Node>, List<Node>, RandomAccess, NodeSequence

public class Cycle extends Walk
Represents a cycle in a graph. A cycle C is defined as a closed walk of size n in which nodes 1 through n-1 form a path.
Author:
Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
See Also:
  • Constructor Details

  • Method Details

    • isValid

      public boolean isValid()
      Tests if the cycle is valid. A valid cycle satisfies two conditions:

      1. Each pair of adjacent nodes share an edge.
      2. The first and last nodes share an edge. 3. The only node repetition is the first and last nodes.
      Specified by:
      isValid in interface NodeSequence
      Overrides:
      isValid in class Walk
      Returns:
      True if valid, otherwise false.
    • buildEdges

      protected List<Edge> buildEdges()
      Description copied from class: Walk
      Internal method for building the edge set of the walk. This method calculated the edges upon every call.
      Overrides:
      buildEdges in class Walk
      Returns:
      The list of edges for the walk, or null if the edge set could not be calculated due to an invalid walk.