BFS vs. DFS

Autor: Laura McKinney
Datum Vytvoření: 4 Duben 2021
Datum Aktualizace: 9 Smět 2024
Anonim
5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search
Video: 5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search

Obsah

Rozdíl mezi BFS, které je vyhledáváním na šířku a DFS, které je vyhledáváním na hloubku, je ten, že vyhledávání na šířku je metoda procházení grafem, která používá frontu pro ukládání navštívených vrcholů, zatímco hledání hloubky jako první je metoda procházení grafem, která používá zásobník pro uložení navštívených vrcholů.


První dechové a hloubkové první hledání jsou jedním z nejdůležitějších konceptů v počítačovém programování. Hledání hloubky nejprve sleduje cestu od začátku do konce, která je koncovým uzlem na druhé straně, první pracovní úroveň vyhledávání podle úrovně. Pokud mluvíme o hlavním rozdílu, pak hlavní rozdíl mezi BFS, který je prvním vyhledáváním v šířce a DFS, kterým je hloubkové první vyhledávání, je ten, že první vyhledávání v šířce je metoda procházení grafu, která používá frontu pro ukládání navštívených vrcholů, zatímco hloubkové první vyhledávání je metoda procházení grafu, která používá zásobník k ukládání navštívených vrcholů. Hledání šířky první, které se nazývá krátce BFS, se používá k procházení grafem pomocí BFS. Fronta se používá k ukládání navštívených vrcholů v BFS. BFS pracuje na vrcholech, navštívené vrcholy jsou uloženy ve frontě. Vrcholy se ukládají jeden po druhém. Každý uzel v grafu je plně prozkoumán a poté jsou navštíveny další vrcholy grafu.


Hloubka První vyhledávání, které je známé jako DFS, je také metoda procházení grafu, která pomocí zásobníku ukládala vrcholy. Hledání podle šířky není metoda založená na hranách, zatímco hledání na hloubce jako první je metoda založená na hranách. Hloubkově první vyhledávací práce rekurzivním způsobem, kdy jsou vrcholy prozkoumávány hranami. Při prvním hledání hloubky se každý vrchol navštíví jednou a poté se dvakrát prohlédne.

Obsah: Rozdíl mezi BFS a DFS

  • Srovnávací tabulka
  • BFS
  • DFS
  • Klíčové rozdíly
  • Závěr
  • Vysvětlující video

Srovnávací tabulka

ZákladBFSDFS
VýznamPrvní vyhledávání v šíři je metoda procházení grafu, která používá frontu pro ukládání navštívených vrcholůHledání hloubky první je metoda procházení grafu, která používá zásobník k ukládání navštívených vrcholů.
Algoritmus První vyhledávání v šíři je algoritmus založený na vrcholuHledání hloubky je algoritmus založený na hranách
PaměťPrvní vyhledávání v šíři je neefektivníHloubkové vyhledávání je efektivní z hlediska paměti
aplikace Zkoumá bipartitní graf, připojenou komponentu a nejkratší cestu přítomnou v grafu.Zkoumá dvoustranný připojený graf, silně připojený graf, acyklický graf a topologické pořadí.

BFS

Hledání šířky první, které se nazývá krátce BFS, se používá k procházení grafem pomocí BFS. Fronta se používá k ukládání navštívených vrcholů v BFS. BFS pracuje na vrcholech, navštívené vrcholy jsou uloženy ve frontě. Vrcholy se ukládají jeden po druhém. Každý uzel v grafu je plně prozkoumán a poté jsou navštíveny další vrcholy grafu. Hledání podle šířky se používá k nalezení, zda je graf připojen nebo ne. Hledání šířky první se používá pro detekci bipartitního grafu. Nalezení nejkratších cest se provádí pomocí BFS.


DFS

Hloubka První vyhledávání, které je známé jako DFS, je také metoda procházení grafu, která používá zásobník k ukládání vrcholů. Hledání podle šířky není metodou založenou na hranách, zatímco vyhledávání na hloubce je metodou založenou na hranách.Hloubkově první vyhledávací práce rekurzivním způsobem, kdy jsou vrcholy prozkoumávány hranami. Při hloubkovém hledání je každý vrchol navštíven jednou, když je dvakrát prohlédnut.

Klíčové rozdíly

  1. Hledání šířky první je metoda procházení grafů, která používá frontu pro ukládání navštívených vrcholů, zatímco hledání hloubky jako první je metoda procházení grafů, která používá zásobník pro ukládání navštívených vrcholů.
  2. Hledání podle šířky je algoritmus založený na vrcholu a algoritmus pro vyhledávání hloubky jako první
  3. Hledání šířky první je paměť neefektivní, zatímco hledání hloubky první je efektivní z paměti.
  4. Zkoumá bipartitní graf, připojenou komponentu a nejkratší cestu přítomnou v grafu, zatímco zkoumá dvoustranný připojený graf, silně připojený graf, acyklický graf a topologické pořadí.

Závěr

V tomto článku výše vidíme jasný rozdíl mezi dechovým prvním vyhledáváním a hloubkovým prvním vyhledáváním s implementací.

Vysvětlující video