Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
randomized.h
Go to the documentation of this file.
1
32#pragma once
33
37
38namespace ogdf {
39
47
49
57
59
64OGDF_EXPORT void randomGraph(Graph& G, int n, int m);
65
67
72OGDF_EXPORT bool randomSimpleGraph(Graph& G, int n, int m);
73
75
87
89
95
97
106
108
117
119
129OGDF_EXPORT void randomPlanarBiconnectedGraph(Graph& G, int n, int m, bool multiEdges = false);
130
132
144OGDF_EXPORT void randomPlanarBiconnectedDigraph(Graph& G, int n, int m, double p = 0,
145 bool multiEdges = false);
146
148
157
159
167OGDF_EXPORT void randomPlanarCNBGraph(Graph& G, int n, int m, int b);
168
170
197OGDF_EXPORT void randomTriconnectedGraph(Graph& G, int n, double p1, double p2);
198
200
220
222
239OGDF_EXPORT void randomPlanarTriconnectedGraph(Graph& G, int n, double p1, double p2);
240
242
247
249
256OGDF_EXPORT void randomTree(Graph& G, int n, int maxDeg, int maxWidth);
257
259
269
271
279
281
296 int moreInLeaves);
297
299
304OGDF_EXPORT void randomDigraph(Graph& G, int n, double p);
305
307
319OGDF_EXPORT void randomSeriesParallelDAG(Graph& G, int edges, double p = 0.5, double flt = 0.0);
320
324
330OGDF_EXPORT void randomGeometricCubeGraph(Graph& G, int nodes, double threshold, int dimension = 2);
331
334
351OGDF_EXPORT void randomWaxmanGraph(Graph& G, int nodes, double alpha, double beta,
352 double width = 1.0, double height = 1.0);
353
355
372
374
391
393
416
418
431OGDF_EXPORT void randomEdgesGraph(Graph& G, std::function<double(node, node)> probability);
432
434
437}
Derived class of GraphObserver providing additional functionality to handle clustered graphs.
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:214
Representation of clustered graphs.
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Class for the representation of nodes.
Definition Graph_d.h:177
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
bool randomSimpleGraphByProbability(Graph &G, int n, double pEdge)
Creates a random simple graph.
void randomGraph(Graph &G, int n, int m)
Creates a random graph.
void randomUpwardPlanarBiconnectedDigraph(Graph &G, int n, int m)
Creates a random upward planar biconnected (embedded) digraph.
void randomPlanarBiconnectedDigraph(Graph &G, int n, int m, double p=0, bool multiEdges=false)
Creates a random planar biconnected acyclic (embedded) digraph.
void randomWaxmanGraph(Graph &G, int nodes, double alpha, double beta, double width=1.0, double height=1.0)
Generates a Waxman graph where nodes are uniformly randomly placed in a grid, then edges are inserted...
void randomChungLuGraph(Graph &G, Array< int > expectedDegreeDistribution)
Creates a graph where edges are inserted based on given weights.
void randomClusterGraph(ClusterGraph &C, Graph &G, int cNum)
Assigns random clusters to a given graph G.
void randomRegularGraph(Graph &G, int n, int d)
Creates a random d-regular graph.
void randomPlanarTriconnectedGraph(Graph &G, int n, int m)
Creates a random planar triconnected (and simple) graph.
void preferentialAttachmentGraph(Graph &G, int nodes, int minDegree)
Creates a graph where new nodes are more likely to connect to nodes with high degree.
bool randomSimpleConnectedGraph(Graph &G, int n, int m)
Creates a random simple and connected graph.
void randomClusterPlanarGraph(ClusterGraph &C, Graph &G, int cNum)
Assigns random clusters to a given graph G.
void randomTree(Graph &G, int n)
Creates a random tree (simpler version.
void randomGeometricCubeGraph(Graph &G, int nodes, double threshold, int dimension=2)
Creates a random geometric graph by laying out nodes in a unit n-cube. Nodes with a distance < thresh...
void randomSeriesParallelDAG(Graph &G, int edges, double p=0.5, double flt=0.0)
Creates a random (simple, biconnected) series parallel DAG.
void randomWattsStrogatzGraph(Graph &G, int n, int k, double probability)
Creates a "small world" graph as described by Watts & Strogatz.
void randomDigraph(Graph &G, int n, double p)
Creates a random (simple) directed graph.
void randomEdgesGraph(Graph &G, std::function< double(node, node)> probability)
Inserts edges into the given graph based on probabilities given by a callback function.
bool randomSimpleGraph(Graph &G, int n, int m)
Creates a random simple graph.
void randomPlanarBiconnectedGraph(Graph &G, int n, int m, bool multiEdges=false)
Creates a random planar biconnected (embedded) graph.
void randomTriconnectedGraph(Graph &G, int n, double p1, double p2)
Creates a random triconnected (and simple) graph.
void randomPlanarCNBGraph(Graph &G, int n, int m, int b)
Creates a random planar graph, that is connected, but not biconnected.
void randomBiconnectedGraph(Graph &G, int n, int m)
Creates a random biconnected graph.
void randomPlanarConnectedGraph(Graph &G, int n, int m)
Creates a random connected (simple) planar (embedded) graph.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
Implements graph generator for random geographical threshold graphs.
Declaration of the Random Hierarchy graph generator.