BFS vs DFS

Autor: Laura McKinney
Loomise Kuupäev: 4 Aprill 2021
Värskenduse Kuupäev: 17 Mai 2024
Anonim
5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search
Videot: 5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search

Sisu

Erinevus BFS-ist, mis on laiusega esimene otsing, ja DFS-ist, mis on sügavusest esimene otsing, on see, et laiuse esimene otsing on graafikut läbitav meetod, mis kasutab järjekorda külastatud tippude salvestamiseks, samal ajal kui esimese sügavuse otsing on graafikut läbiv meetod, mis kasutab virna. külastatud tippude säilitamiseks.


Esimene hingamine ja esimene sügavusotsing on arvutiprogrammeerimises üks olulisemaid mõisteid. Esimene sügavusotsing järgib teed algusest lõpuni, st lõppsõlm, teiselt poolt leiva esimene otsimine töö tasandil. Kui me räägime peamisest erinevusest, siis peamine erinevus BFS-i, st laiuse esimese otsingu ja DFS-i vahel, mis on sügavus-esimene otsing, on see, et laiuse esimene otsing on graafikut läbiv meetod, mis kasutab järjekorda külastatud tippude salvestamiseks, samas kui sügavus-esimene otsing on graafikut läbiv meetod, mis kasutab virna külastatud tippude salvestamiseks. Laiuse esimene otsing, mida nimetatakse lühidalt BFS, kasutatakse graafiku läbimiseks BFS-i. Järjekorda kasutatakse külastatud tippude salvestamiseks BFS-is. BFS töötab tippudel, külastatud tipud salvestatakse järjekorda. Tippe salvestatakse ükshaaval. Graafiku iga sõlme uuritakse täielikult ja seejärel külastatakse graafi teisi tippe.


Sügavus Esimene otsing, mida tuntakse DFS-na, on ka graafikut läbiv meetod, mis kasutas virna tippude salvestamiseks. Laiuse esimene otsing ei ole servapõhine meetod, samas kui esimese sügavuse otsing on servapõhine meetod. Esimene sügavusotsing toimub rekursiivsel viisil, kus tippe uuritakse servade kaudu. Esimese põhjaliku otsingu korral külastatakse igat tippu üks kord, kui seda kontrollitakse kaks korda.

Sisu: erinevus BFSi ja DFSi vahel

  • Võrdlusdiagramm
  • BFS
  • DFS
  • Peamised erinevused
  • Järeldus
  • Selgitav video

Võrdlusdiagramm

AlusBFSDFS
TähendusEsimene laiuse otsing on graafikut läbiv meetod, mis kasutab külastatud tippude salvestamiseks järjekordaEsimene sügavusotsing on graafikut läbiv meetod, mis kasutab virna külastatud tippude salvestamiseks.
Algoritm Esimene laiuseotsing on tipupõhine algoritmEsimene sügavusotsing on servapõhine algoritm
MäluEsimene laiuseotsing on mälu ebaefektiivneEsimene sügavusotsing on mälu efektiivne
Rakendus Uurib kahepoolset graafi, ühendatud komponenti ja graafiku lühimat rada.Uurib kahe servaga ühendatud graafikut, tugevalt ühendatud graafi, atsüklilist graafi ja topoloogilist järjestust.

BFS

Laiuse esimene otsing, mida nimetatakse lühidalt BFS, kasutatakse graafiku läbimiseks BFS-i. Järjekorda kasutatakse külastatud tippude salvestamiseks BFS-is. BFS töötab tippudel, külastatud tipud salvestatakse järjekorda. Tippe salvestatakse ükshaaval. Graafiku iga sõlme uuritakse täielikult ja seejärel külastatakse graafi teisi tippe. Laiuse järgi otsimist kasutatakse selleks, et leida, kas graaf on ühendatud või mitte. Kahepoolse graafiku tuvastamiseks kasutatakse laiuse esimest otsingut. Lühimate teede leidmiseks kasutatakse BFS-i.


DFS

Sügavus Esimene otsing, mida tuntakse DFS-na, on ka graafikut läbiv meetod, mis kasutas virna tippude salvestamiseks. Laiuse esimene otsing ei ole servapõhine meetod, samas kui esimese sügavuse otsing on servapõhine meetod.Esimene sügavusotsing toimub rekursiivsel viisil, kus tippe uuritakse servade kaudu. Esimeses sügavusotsingus külastatakse igat tippu üks kord, mida kontrollitakse kaks korda.

Peamised erinevused

  1. Laiuse esimene otsing on graafikut läbiv meetod, mis kasutab järjekorda külastatud tippude salvestamiseks, samas kui sügavus esimene otsing on graafiku liikumise meetod, mis kasutab virna külastatud tippude salvestamiseks.
  2. Laiuse esimene otsing on tipupõhine algoritm, sügavuse esimene otsing on servapõhine algoritm
  3. Laiuse esimene otsing on mälu ebatõhus, samas kui esimese sügavuse otsing on mälu efektiivne.
  4. Uurib kahepoolset graafi, ühendatud komponenti ja graafil olevat lühimat rada, samas kui uuritakse kahe servaga ühendatud graafikut, tugevalt ühendatud graafi, atsüklilist graafi ja topoloogilist järjestust.

Järeldus

Ülaltoodud artiklis näeme selget erinevust esimese hingetõmbe ja põhjaliku otsingu vahel rakenduse vahel.

Selgitav video