BFS vs. DFS

Autor: Laura McKinney
Data De Criação: 4 Abril 2021
Data De Atualização: 13 Poderia 2024
Anonim
5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search
Vídeo: 5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search

Contente

A diferença entre o BFS, que é a pesquisa de primeira largura e o DFS, a pesquisa de profundidade é que a pesquisa de largura é o método de deslocamento de gráfico que usa uma fila para armazenar os vértices visitados, enquanto a pesquisa de profundidade é o método de deslocamento de gráfico que usa a pilha para armazenar vértices visitados.


Breath first search e depth-first search são um dos conceitos mais importantes em programação de computadores. A pesquisa em profundidade segue um caminho do início ao fim, que é o nó final, por outro lado, busca o nível de trabalho da primeira pesquisa por nível. Se falamos sobre a principal diferença, a principal diferença entre o BFS que é a primeira pesquisa de largura e o DFS a pesquisa de profundidade é que a pesquisa de largura é o método de deslocamento de gráfico que usa uma fila para armazenar os vértices visitados, enquanto a pesquisa de profundidade é um método de deslocamento de gráfico que usa a pilha para armazenar os vértices visitados. Em termos de busca pela primeira vez, chamada BFS, o BFS é usado para percorrer o gráfico. A fila é usada para armazenar os vértices visitados no BFS. O BFS trabalha nos vértices, os vértices visitados são armazenados na fila. Os vértices são armazenados um por um. Cada nó em um gráfico é totalmente explorado e, em seguida, outros vértices do gráfico são visitados.


A primeira pesquisa conhecida como DFS também é um método de deslocamento de gráfico que usou a pilha para armazenar os vértices. A pesquisa de largura em primeiro lugar não é um método baseado em arestas, enquanto a pesquisa de profundidade em primeiro lugar é um método baseado em arestas. A pesquisa com profundidade inicial funciona de maneira recursiva, na qual os vértices são explorados pelas arestas. Na primeira pesquisa aprofundada, cada vértice é visitado uma vez e inspecionado duas vezes.

Conteúdo: Diferença entre BFS e DFS

  • Gráfico de comparação
  • BFS
  • DFS
  • Principais diferenças
  • Conclusão
  • Vídeo explicativo

Gráfico de comparação

BaseBFSDFS
SignificadoA primeira pesquisa de largura é o método de deslocamento de gráfico que usa uma fila para armazenar os vértices visitadosA pesquisa em profundidade é o método de deslocamento de gráfico que usa a pilha para armazenar os vértices visitados.
Algoritmo A primeira pesquisa de largura é o algoritmo baseado em vérticesA pesquisa em profundidade é o algoritmo baseado em borda
MemóriaA primeira pesquisa de largura é ineficiente de memóriaA busca em profundidade é eficiente em memória
Inscrição Examina o gráfico bipartido, o componente conectado e o caminho mais curto presente em um gráfico.Examina gráfico conectado de duas arestas, gráfico fortemente conectado, gráfico acíclico e ordem topológica.

BFS

Em termos de busca pela primeira vez, chamada BFS, o BFS é usado para percorrer o gráfico. A fila é usada para armazenar os vértices visitados no BFS. O BFS trabalha nos vértices, os vértices visitados são armazenados na fila. Os vértices são armazenados um por um. Cada nó em um gráfico é totalmente explorado e outros vértices do gráfico são visitados. A pesquisa de amplitude é usada para descobrir que o gráfico está conectado ou não. A pesquisa de amplitude é usada para detectar um gráfico bipartido. A localização dos caminhos mais curtos é feita usando o BFS.


DFS

A primeira pesquisa conhecida como DFS também é um método de deslocamento de gráfico que usou a pilha para armazenar os vértices. A pesquisa de largura inicial não é um método baseado em arestas, enquanto a pesquisa de profundidade inicial é um método baseado em arestas.A pesquisa com profundidade inicial funciona de maneira recursiva, na qual os vértices são explorados pelas arestas. Em uma pesquisa profunda, cada vértice é visitado uma vez e inspecionado duas vezes.

Principais diferenças

  1. A pesquisa por largura primeiro é o método de deslocamento de gráfico que usa uma fila para armazenar os vértices visitados, enquanto a pesquisa por profundidade é o método de deslocamento de gráfico que usa a pilha para armazenar os vértices visitados.
  2. A pesquisa da primeira largura é um algoritmo baseado em vértice, enquanto a pesquisa da primeira profundidade é um algoritmo baseado em arestas
  3. A pesquisa de largura inicial é ineficiente em memória, enquanto a pesquisa de profundidade inicial é eficiente em memória.
  4. Examina o gráfico bipartido, o componente conectado e o caminho mais curto presente em um gráfico, enquanto examina o gráfico conectado de duas arestas, o gráfico fortemente conectado, o gráfico acíclico e a ordem topológica.

Conclusão

Neste artigo acima, vemos a clara diferença entre a primeira pesquisa por respiração e a pesquisa mais profunda com a implementação.

Vídeo explicativo