Exemplo n.º 1
0
 private static void AddStartNode(Graph graph, EdgeThree edgeThree)
 {
     graph.AddNode(0);
     graph.AddNode(1);
     graph.AddEdge(1, 0);
     edgeThree.AddEdge(1, 0);
 }
Exemplo n.º 2
0
 private static void MakeThree(EdgeThree edgeThree, Graph graph)
 {
     for (var currentNode = 2; currentNode < NodeCount; currentNode++)
     {
         graph.AddNode(currentNode);
         var used = new HashSet <int>(new[] { currentNode });
         for (var i = 0; i < M; i++)
         {
             var randomNumber = GetRandomNumber(edgeThree);
             var selectedNode = edgeThree.GetIndexForRandomNumber(randomNumber);
             if (used.Contains(selectedNode))
             {
                 selectedNode = SelectEmptyNode(selectedNode, graph);
             }
             used.Add(selectedNode);
             graph.AddEdge(currentNode, selectedNode);
             edgeThree.AddEdge(currentNode, selectedNode);
         }
     }
 }