00001
00002
00003
00004
00005
00006
00007
00008
00043 #ifdef _MSC_VER
00044 #pragma once
00045 #endif
00046
00047 #ifndef OGDF_GRAPH_GENERATORS_H
00048 #define OGDF_GRAPH_GENERATORS_H
00049
00050
00051 #include <ogdf/basic/Graph.h>
00052 #include <ogdf/cluster/ClusterGraph.h>
00053
00054 namespace ogdf {
00055
00057
00062 OGDF_EXPORT void randomGraph(Graph &G, int n, int m);
00063
00065
00070 OGDF_EXPORT bool randomSimpleGraph(Graph &G, int n, int m);
00071
00073
00078 OGDF_EXPORT void randomBiconnectedGraph(Graph &G, int n, int m);
00079
00081
00086 OGDF_EXPORT void planarConnectedGraph(Graph &G, int n, int m);
00087
00089
00096 OGDF_EXPORT void planarBiconnectedGraph(Graph &G, int n, int m, bool multiEdges = false);
00097
00099
00100
00101
00102
00103 OGDF_EXPORT void planarCNBGraph(Graph &G, int n, int m, int b);
00104
00106
00132 OGDF_EXPORT void randomTriconnectedGraph(Graph &G, int n, double p1, double p2);
00133
00135
00154 OGDF_EXPORT void planarTriconnectedGraph(Graph &G, int n, int m);
00155
00157
00173 OGDF_EXPORT void planarTriconnectedGraph(Graph &G, int n, double p1, double p2);
00174
00176
00180 OGDF_EXPORT void randomTree(Graph& G, int n);
00181
00183
00189 OGDF_EXPORT void randomTree(Graph &G, int n, int maxDeg, int maxWidth);
00190
00192
00199 void regularTree(Graph& G, int n, int children);
00200
00201
00202
00204
00213 OGDF_EXPORT void randomHierarchy(
00214 Graph &G,
00215 int n,
00216 int m,
00217 bool planar,
00218 bool singleSource,
00219 bool longEdges);
00220
00222
00231 OGDF_EXPORT void randomClusterPlanarGraph(ClusterGraph &C,Graph &G,int cNum);
00232
00234
00241 OGDF_EXPORT void randomClusterGraph(ClusterGraph &C,Graph &G,int cNum);
00242
00243
00245
00257 OGDF_EXPORT void randomClusterGraph(ClusterGraph& C, const Graph& G, const node root, int moreInLeaves);
00258
00259
00261
00265 OGDF_EXPORT void completeGraph(Graph &G, int n);
00266
00268
00273 OGDF_EXPORT void completeBipartiteGraph(Graph &G, int n, int m);
00274
00276
00280 OGDF_EXPORT void wheelGraph(Graph &G, int n);
00281
00283
00287 OGDF_EXPORT void cubeGraph(Graph &G, int n);
00288
00290
00294 OGDF_EXPORT void suspension(Graph &G, int s);
00295
00297
00304 OGDF_EXPORT void gridGraph(Graph &G, int n, int m, bool loopN, bool loopM);
00305
00307
00312 OGDF_EXPORT void petersenGraph(Graph &G, int n, int m);
00313
00315
00320 OGDF_EXPORT void randomDiGraph(Graph &G, int n, double p);
00321
00322
00323
00324 }
00325
00326
00327 #endif