Class RandomGraphFactory
Helpers related to graphs and randomness.
Inheritance
Inherited Members
Namespace: QuikGraph.Algorithms
Assembly: QuikGraph.dll
Syntax
public static class RandomGraphFactory
Methods
| Improve this Doc View SourceCreate<TVertex, TEdge>(IMutableUndirectedGraph<TVertex, TEdge>, VertexFactory<TVertex>, EdgeFactory<TVertex, TEdge>, Random, Int32, Int32, Boolean)
Fills the given graph
with vertexCount
vertices
and edgeCount
edges created randomly between vertices (undirected graph).
Declaration
public static void Create<TVertex, TEdge>(IMutableUndirectedGraph<TVertex, TEdge> graph, VertexFactory<TVertex> vertexFactory, EdgeFactory<TVertex, TEdge> edgeFactory, Random rng, int vertexCount, int edgeCount, bool selfEdges)
where TEdge : IEdge<TVertex>
Parameters
Type | Name | Description |
---|---|---|
IMutableUndirectedGraph<TVertex, TEdge> | graph | Graph to fill. |
VertexFactory<TVertex> | vertexFactory | Vertex factory method. |
EdgeFactory<TVertex, TEdge> | edgeFactory | Edge factory method. |
System.Random | rng | Random number generator. |
System.Int32 | vertexCount | Number of vertices to create. |
System.Int32 | edgeCount | Number of edges to create. |
System.Boolean | selfEdges | Indicates if self edge are allowed. |
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
TEdge | Edge type. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentOutOfRangeException |
|
System.ArgumentOutOfRangeException |
|
Create<TVertex, TEdge>(IMutableVertexAndEdgeListGraph<TVertex, TEdge>, VertexFactory<TVertex>, EdgeFactory<TVertex, TEdge>, Random, Int32, Int32, Boolean)
Fills the given graph
with vertexCount
vertices
and edgeCount
edges created randomly between vertices (directed graph).
Declaration
public static void Create<TVertex, TEdge>(IMutableVertexAndEdgeListGraph<TVertex, TEdge> graph, VertexFactory<TVertex> vertexFactory, EdgeFactory<TVertex, TEdge> edgeFactory, Random rng, int vertexCount, int edgeCount, bool selfEdges)
where TEdge : IEdge<TVertex>
Parameters
Type | Name | Description |
---|---|---|
IMutableVertexAndEdgeListGraph<TVertex, TEdge> | graph | Graph to fill. |
VertexFactory<TVertex> | vertexFactory | Vertex factory method. |
EdgeFactory<TVertex, TEdge> | edgeFactory | Edge factory method. |
System.Random | rng | Random number generator. |
System.Int32 | vertexCount | Number of vertices to create. |
System.Int32 | edgeCount | Number of edges to create. |
System.Boolean | selfEdges | Indicates if self edge are allowed. |
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
TEdge | Edge type. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentOutOfRangeException |
|
System.ArgumentOutOfRangeException |
|
GetEdge<TVertex, TEdge>(IEdgeSet<TVertex, TEdge>, Random)
Gets a random edge within the given graph
.
Declaration
public static TEdge GetEdge<TVertex, TEdge>(IEdgeSet<TVertex, TEdge> graph, Random rng)
where TEdge : IEdge<TVertex>
Parameters
Type | Name | Description |
---|---|---|
IEdgeSet<TVertex, TEdge> | graph | The graph. |
System.Random | rng | Random number generator. |
Returns
Type | Description |
---|---|
TEdge | Chosen vertex. |
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
TEdge | Edge type. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
GetEdge<TVertex, TEdge>(IEnumerable<TEdge>, Int32, Random)
Gets a random edge within the given set of edges
.
Declaration
public static TEdge GetEdge<TVertex, TEdge>(IEnumerable<TEdge> edges, int count, Random rng)
where TEdge : IEdge<TVertex>
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<TEdge> | edges | Set of edges. |
System.Int32 | count | Number of edges in the set. |
System.Random | rng | Random number generator. |
Returns
Type | Description |
---|---|
TEdge | Chosen vertex. |
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
TEdge | Edge type. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentOutOfRangeException |
|
System.InvalidOperationException |
|
GetVertex<TVertex>(IVertexSet<TVertex>, Random)
Gets a random vertex within the given graph
.
Declaration
public static TVertex GetVertex<TVertex>(IVertexSet<TVertex> graph, Random rng)
Parameters
Type | Name | Description |
---|---|---|
IVertexSet<TVertex> | graph | The graph. |
System.Random | rng | Random number generator. |
Returns
Type | Description |
---|---|
TVertex | Chosen vertex. |
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
GetVertex<TVertex>(IEnumerable<TVertex>, Int32, Random)
Gets a random vertex within the given set of vertices
.
Declaration
public static TVertex GetVertex<TVertex>(IEnumerable<TVertex> vertices, int count, Random rng)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<TVertex> | vertices | Set of vertices. |
System.Int32 | count | Number of vertices in the set. |
System.Random | rng | Random number generator. |
Returns
Type | Description |
---|---|
TVertex | Chosen vertex. |
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentOutOfRangeException |
|
System.InvalidOperationException |
|