A busca em profundidade (Depth-First Search (DFS) em um grafo consiste em visitar todos os seus vértices, intuitivamente, o algoritmo começa em um nó e explora tanto quanto possível cada um dos seus ramos antes de retroceder. A medida que percorre o grafo, o algoritmo marca cada vértice de cinza e depois de preto. Quando descobre um novo vértice, o algoritmo marca o vértice de cinza; quando termina de visitar todos os vizinhos do vértice, o algoritmo marca o vértice de preto. De acordo com a complexidade de tempo desse algoritmo, é possível determinar que ele está em P. Cada vértice do grafo passado para o algoritmo DFS é O(1). A lista de adjacência de cada vértice percorrido uma vez é O(E); nesse caso, a complexidade total é O(V+E).
A busca em profundidade (Depth-First Search (DFS) em um grafo consiste em visitar todos os seus vértices, intuitivamente, o algoritmo começa em um nó e explora tanto quanto possível cada um dos seus ramos antes de retroceder. A medida que percorre o grafo, o algoritmo marca cada vértice de cinza e depois de preto. Quando descobre um novo vértice, o algoritmo marca o vértice de cinza; quando termina de visitar todos os vizinhos do vértice, o algoritmo marca o vértice de preto. De acordo com a complexidade de tempo desse algoritmo, é possível determinar que ele está em P. Cada vértice do grafo passado para o algoritmo DFS é O(1). A lista de adjacência de cada vértice percorrido uma vez é O(E); nesse caso, a complexidade total é O(V+E).
- De acordo com a complexidade de tempo desse algoritmo, é possível determinar que ele está em NP. Cada vértice do grafo passado para o algoritmo DFS (linha 9) é O(1). A lista de adjacência de cada vértice percorrido uma vez é O(E); nesse caso, a complexidade total é O(V+E).
- De acordo com a complexidade de tempo desse algoritmo, é possível determinar que ele está em P. Cada vértice do grafo passado para o algoritmo DFS (linha 9) é O(1). A lista de adjacência de cada vértice percorrido uma vez é O(E); nesse caso, a complexidade total é O(V+E).
- De acordo com a complexidade de tempo desse algoritmo, uma vez que a complexidade não lhe pertence à classe P. Cada vértice do grafo passado para o algoritmo DFS (linha 9) é O(1); nesse caso, a complexidade total é O(V+E) constante.
- De acordo com a complexidade de tempo desse algoritmo, é possível determinar que ele não está em P. Cada vértice do grafo passado para o algoritmo DFS (linha 9) é O(1). A lista de adjacência de cada vértice percorrido uma vez é O(E); nesse caso, a complexidade total é O(V+E).
- De acordo com a complexidade de tempo desse algoritmo, é possível determinar que ele está em P. Cada vértice do grafo passado para o algoritmo DFS (linha 9) é O(1). A lista de adjacência de cada vértice percorrido uma vez é O(E); nesse caso, a complexidade total é uma função da implementação prática.