Class RandomHamiltonianGenerator

java.lang.Object
org.graph4j.generators.AbstractGraphGenerator
org.graph4j.generators.RandomHamiltonianGenerator

public class RandomHamiltonianGenerator extends AbstractGraphGenerator
Creates a random Hamiltonian graph or digraph. Each possible edge, except for the ones in the initial cycle, is added cosidering a given probability. If the edge probability is 0, the algorithm returns a cycle graph.
Author:
Cristian Frăsinaru
See Also:
  • Constructor Details

    • RandomHamiltonianGenerator

      public RandomHamiltonianGenerator(int numVertices, double edgeProbability)
      Parameters:
      numVertices - number of vertices.
      edgeProbability - probability that two vertices are connected.
    • RandomHamiltonianGenerator

      public RandomHamiltonianGenerator(int firstVertex, int lastVertex, double edgeProbability)
      Parameters:
      firstVertex - first vertex number of the graph.
      lastVertex - last vertex number of the graph.
      edgeProbability - probability that two vertices are connected.
  • Method Details

    • createGraph

      public Graph createGraph()
      Returns:
      a random graph.
    • createDigraph

      public Digraph createDigraph()
      Returns:
      a random directed graph.
    • getHamiltonianCycle

      public Cycle getHamiltonianCycle()
      The method returns the Hamiltonian cycle that was created as part of the generation process. Returns null if the graph was not created.
      Returns:
      a Hamiltonian cycle of the generated graph.