Ed Inteligência Artificial do Passei Direto
há 2 anos
Para implementar um algoritmo de busca em profundidade em Java, você pode seguir os seguintes passos: 1. Crie uma classe para representar o grafo. Essa classe pode ter uma lista de adjacência para armazenar as arestas do grafo. 2. Implemente um método recursivo para a busca em profundidade. Esse método deve receber como parâmetros o vértice atual, um vetor de visitados e realizar as seguintes ações: - Marcar o vértice atual como visitado. - Percorrer todos os vértices adjacentes ao vértice atual que ainda não foram visitados e chamar recursivamente o método de busca em profundidade para esses vértices. 3. Crie um método principal para iniciar a busca em profundidade. Nesse método, você deve criar uma instância do grafo, chamar o método de busca em profundidade para um vértice inicial e passar um vetor de visitados inicializado corretamente. Aqui está um exemplo de implementação em Java: ```java import java.util.ArrayList; import java.util.List; class Grafo { private int numVertices; private List> adjacencia; public Grafo(int numVertices) { this.numVertices = numVertices; adjacencia = new ArrayList<>(numVertices); for (int i = 0; i < numVertices; i++) { adjacencia.add(new ArrayList<>()); } } public void adicionarAresta(int origem, int destino) { adjacencia.get(origem).add(destino); } public void buscaEmProfundidade(int vertice, boolean[] visitados) { visitados[vertice] = true; System.out.print(vertice + " "); for (int adjacente : adjacencia.get(vertice)) { if (!visitados[adjacente]) { buscaEmProfundidade(adjacente, visitados); } } } public void buscaEmProfundidade(int verticeInicial) { boolean[] visitados = new boolean[numVertices]; buscaEmProfundidade(verticeInicial, visitados); } } public class Main { public static void main(String[] args) { Grafo grafo = new Grafo(6); grafo.adicionarAresta(0, 1); grafo.adicionarAresta(0, 2); grafo.adicionarAresta(1, 3); grafo.adicionarAresta(2, 4); grafo.adicionarAresta(2, 5); System.out.println("Busca em Profundidade (começando do vértice 0):"); grafo.buscaEmProfundidade(0); } } ``` Neste exemplo, o grafo possui 6 vértices e as arestas são adicionadas usando o método `adicionarAresta()`. Em seguida, é chamado o método `buscaEmProfundidade()` para realizar a busca em profundidade a partir do vértice 0. Os vértices visitados são impressos na ordem em que são encontrados. Espero que isso ajude!
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade