Dificuldade ★★☆
2 minutos de Leitura 🕒
A Busca em Largura (BFS – Breadth-First Search) é um algoritmo de busca em grafos. Esse algoritmo funciona explorando o grafo em níveis, a partir de um nó inicial, usando uma fila do tipo primeiro a entrar, primeiro a sair.
Encontrar a menor Rota em Um Grafo – A Busca em Largura pode ser usada para encontrar a rota mais curta entre dois nós de um grafo.
Verificar Conexão em Grafos: A Busca em Largura pode ser usada para verificar se dois nós estão conectados em um grafo e, se estiverem, encontrar o caminho de conexão.
Encontrar Componentes Conectados em Um Grafo – A Busca em Largura pode ser usada para encontrar todas os componentes conectados em um grafo não direcionado.
Resolução de Problemas – A Busca em Largura pode ser usada como uma técnica de busca para resolver problemas, como encontrar a solução para um quebra-cabeça ou encontrar o objetivo em um jogo.
"sem solução"
.A Busca em Largura possui uma complexidade linear de tempo e espaço, em função do número de nós |V|
e arestas |E|
do grafo:
O(|V| + |E|)
O(|V|)
Alternativamente, quando o grafo de busca é muito grande, a complexidade de tempo e espaço da Busca em Largura é escrita em função do número do fator de ramificação do grafo b
(branch factor) e a distância d
do nó inicial ao nó objetivo, e possui uma complexidade exponencial:
O(bᵈ)
O(bᵈ)
Veja o código completo no GitHub.