Exemple #1
0
 private void DepthFirstSearch(Graph graph, int vertex)
 {
     _marked[vertex] = true;
     foreach (int w in graph.Adjacent(vertex))
     {
         if (_marked[w])
         {
             continue;
         }
         _edgeTo[w] = vertex;
         DepthFirstSearch(graph, w);
     }
 }
Exemple #2
0
 private void DepthFirstSearch(Graph graph, int vertex)
 {
     _marked[vertex] = true;
     foreach (int w in graph.Adjacent(vertex))
     {
         if (_marked[w])
         {
             continue;
         }
         _edgeTo[w] = vertex;
         DepthFirstSearch(graph, w);
     }
 }
 private void Bfs(Graph graph, int vertex)
 {
     _marked[vertex] = true;
     var queue = new Queue<int>();
     queue.Enqueue(vertex);
     while (queue.Count != 0)
     {
         vertex = queue.Dequeue();
         foreach (int adjacentVertex in graph.Adjacent(vertex))
         {
             _marked[adjacentVertex] = true;
             _edgeTo[adjacentVertex] = vertex;
             queue.Enqueue(adjacentVertex);
         }
     }
 }
Exemple #4
0
        private void Bfs(Graph graph, int vertex)
        {
            _marked[vertex] = true;
            var queue = new Queue <int>();

            queue.Enqueue(vertex);
            while (queue.Count != 0)
            {
                vertex = queue.Dequeue();
                foreach (int adjacentVertex in graph.Adjacent(vertex))
                {
                    _marked[adjacentVertex] = true;
                    _edgeTo[adjacentVertex] = vertex;
                    queue.Enqueue(adjacentVertex);
                }
            }
        }