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 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); } } }
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); } } }