Ejemplo n.º 1
0
        private void Search(
            IVertexListGraph <string, Edge <string> > g,
            string root, IDistanceRelaxer relaxer)
        {
            DagShortestPathAlgorithm <string, Edge <string> > algo =
                new DagShortestPathAlgorithm <string, Edge <string> >(
                    g,
                    DagShortestPathAlgorithm <string, Edge <string> > .UnaryWeightsFromVertexList(g),
                    relaxer
                    );
            VertexPredecessorRecorderObserver <string, Edge <string> > predecessors = new VertexPredecessorRecorderObserver <string, Edge <string> >();

            predecessors.Attach(algo);
            algo.Compute(root);

            Verify(algo, predecessors);
        }
Ejemplo n.º 2
0
        private void Search <TVertex, TEdge>(
            IVertexListGraph <TVertex, TEdge> g,
            TVertex root, IDistanceRelaxer relaxer)
            where TEdge : IEdge <TVertex>
        {
            var algo =
                new DagShortestPathAlgorithm <TVertex, TEdge>(
                    g,
                    e => 1,
                    relaxer
                    );
            var predecessors = new VertexPredecessorRecorderObserver <TVertex, TEdge>();

            using (predecessors.Attach(algo))
                algo.Compute(root);

            Verify(algo, predecessors);
        }
        private void Search(
            IVertexListGraph<string, Edge<string>> g, 
            string root, IDistanceRelaxer relaxer)
        {
            DagShortestPathAlgorithm<string, Edge<string>> algo = 
                new DagShortestPathAlgorithm<string, Edge<string>>(
                    g,
                    DagShortestPathAlgorithm<string, Edge<string>>.UnaryWeightsFromVertexList(g),
                    relaxer
                    );
            VertexPredecessorRecorderObserver<string, Edge<string>> predecessors = new VertexPredecessorRecorderObserver<string, Edge<string>>();
            predecessors.Attach(algo);
            algo.Compute(root);

            Verify(algo, predecessors);
        }