internal void ComputeNoInit(IVertex s)
        {
            m_VertexQueue = new PriorithizedVertexBuffer(m_Distances);
            BreadthFirstSearchAlgorithm bfs = new BreadthFirstSearchAlgorithm(
                VisitedGraph,
                m_VertexQueue,
                Colors
                );

            bfs.InitializeVertex += this.InitializeVertex;
            bfs.DiscoverVertex += this.DiscoverVertex;
            bfs.ExamineEdge += this.ExamineEdge;
            bfs.ExamineVertex += this.ExamineVertex;
            bfs.FinishVertex += this.FinishVertex;

            bfs.TreeEdge += new EdgeHandler(this.TreeEdge);
            bfs.GrayTarget += new EdgeHandler(this.GrayTarget);

            bfs.Visit(s);
        }
 public void ComputeNoInit(IVertex s)
 {
     this.vertexQueue = new PriorithizedVertexBuffer(this.distances);
     BreadthFirstSearchAlgorithm algorithm = new BreadthFirstSearchAlgorithm(this.VisitedGraph, this.vertexQueue, this.Colors);
     algorithm.InitializeVertex += this.InitializeVertex;
     algorithm.DiscoverVertex += this.DiscoverVertex;
     algorithm.ExamineEdge += this.ExamineEdge;
     algorithm.ExamineVertex += this.ExamineVertex;
     algorithm.FinishVertex += this.FinishVertex;
     algorithm.TreeEdge += new EdgeEventHandler(this, (IntPtr) this.TreeEdge);
     algorithm.GrayTarget += new EdgeEventHandler(this, (IntPtr) this.GrayTarget);
     algorithm.Visit(s);
 }