public void BestFirstFrontierSearch()
 {
     foreach (BidirectionalGraph <string, Edge <string> > graph in TestGraphFactory.GetBidirectionalGraphs_SlowTests())
     {
         RunAndCheckSearch(graph);
     }
 }
 public void DepthFirstSearch()
 {
     foreach (BidirectionalGraph <string, Edge <string> > graph in TestGraphFactory.GetBidirectionalGraphs_SlowTests())
     {
         RunDFSAndCheck(graph);
         RunDFSAndCheck(graph, 12);
     }
 }
        public void EdgeCondensation()
        {
            var rand = new Random(123456);

            foreach (BidirectionalGraph <string, Edge <string> > graph in TestGraphFactory.GetBidirectionalGraphs_SlowTests())
            {
                RunEdgesCondensationAndCheck(graph, v => true);
                RunEdgesCondensationAndCheck(graph, v => rand.Next(0, 1) == 1);
            }
        }
        public void BestFirstFrontierComparedToDijkstraSearch()
        {
            foreach (BidirectionalGraph <string, Edge <string> > graph in TestGraphFactory.GetBidirectionalGraphs_SlowTests())
            {
                if (graph.VertexCount == 0)
                {
                    continue;
                }

                string root = graph.Vertices.First();
                foreach (string vertex in graph.Vertices)
                {
                    if (!root.Equals(vertex))
                    {
                        CompareSearches(graph, root, vertex);
                    }
                }
            }
        }
Exemplo n.º 5
0
        public void HoffmanPavleyRankedShortestPath()
        {
            foreach (BidirectionalGraph <string, Edge <string> > graph in TestGraphFactory.GetBidirectionalGraphs_SlowTests())
            {
                if (graph.VertexCount == 0)
                {
                    continue;
                }

                var weights = new Dictionary <Edge <string>, double>();
                foreach (Edge <string> edge in graph.Edges)
                {
                    weights.Add(edge, graph.OutDegree(edge.Source) + 1);
                }

                RunHoffmanPavleyRankedShortestPathAndCheck(
                    graph,
                    weights,
                    graph.Vertices.First(),
                    graph.Vertices.Last(),
                    graph.VertexCount);
            }
        }