1 25 40 package org.jgrapht.experimental; 42 43 import java.util.*; 44 45 import org.jgrapht.*; 46 import org.jgrapht.generate.*; 47 48 49 58 public class UniformRandomGraphGenerator 59 implements GraphGenerator 60 { 61 62 64 private final int numEdges; 65 private final int numVertices; 66 67 69 77 public UniformRandomGraphGenerator(int numVertices, int numEdges) 78 { 79 if (numVertices < 0) { 80 throw new IllegalArgumentException ("must be non-negative"); 81 } 82 83 if ( 84 (numEdges < 0) 85 || (numEdges > (numVertices * (numVertices - 1) / 2))) { 86 throw new IllegalArgumentException ("illegal number of edges"); 87 } 88 89 this.numVertices = numVertices; 90 this.numEdges = numEdges; 91 } 92 93 95 98 public void generateGraph( 99 Graph target, 100 VertexFactory vertexFactory, 101 Map resultMap) 102 { 103 Object [] vertices = 104 RandomGraphHelper.addVertices( 105 target, 106 vertexFactory, 107 numVertices); 108 RandomGraphHelper.addEdges( 109 target, 110 Arrays.asList(vertices), 111 Arrays.asList(vertices), 112 numEdges); 113 } 114 } 115 | Popular Tags |