public void BuildGraph() {
// Build Nodes
Console.WriteLine("Building Vertices...");
for(int i=0;i< Nodes; i++) {
Vertex temp = new Vertex(i);
if(Vfirst==null) {
Vfirst = temp;
Vlast = temp;
}
else {
temp.AddVertex(Vlast,temp);
Vlast = temp;
}
Console.WriteLine("Vertex {0} built...",i);
}
// Build Edges
Console.WriteLine("Building Edges...");
DateTime time = DateTime.Now;
Int32 seed = (Int32)time.Ticks;
Random rand = new Random(seed);
for(int i=0;i< Nodes;i++) {
int j = rand.Next(0,Nodes);
for(int k=0;k<j;k++) {
int v2;
while((v2 = rand.Next(0,Nodes))==i); //select a random node, also avoid self-loops
BuildEdge(i,v2); //build edge betn node i and v2
//Console.WriteLine("Edge built between {0} and {1}...",i,v2);
}
}
}