Kaip naudoti BFS norint rasti trumpiausią kelią?
Kaip naudoti BFS norint rasti trumpiausią kelią?

Video: Kaip naudoti BFS norint rasti trumpiausią kelią?

Video: Kaip naudoti BFS norint rasti trumpiausią kelią?
Video: Eksportuotojų duomenų bazė - kaip naudotis? 2024, Balandis
Anonim

Į rasti į trumpiausias kelias , tereikia pradėti nuo šaltinio ir atlikti a pirmiausia plotis ieškoti ir sustoti, kai tu rasti jūsų paskirties mazgas. Vienintelis papildomas dalykas, kurį jums reikia padaryti, yra turėti masyvą previous[n], kuriame bus saugomas ankstesnis kiekvieno aplankyto mazgo mazgas. Ankstesnis šaltinis gali būti nulinis.

Taip pat paklausta, kodėl BFS randa trumpiausią kelią?

Mes tai sakome BFS yra algoritmą naudoti, jei norime rasti trumpiausią kelią nenukreiptame, nesvertiniame grafike. Ieškinys dėl BFS yra toks atstumas nuo šaltinio, kai pirmą kartą aptinkamas mazgas važiuojant būtų duok mums trumpiausias kelias . To negalima pasakyti apie svertinį grafiką.

Taip pat žinote, kur yra trumpiausias kelias labirinte? Raskite trumpiausią kelią labirinte

  1. Eiti aukštyn: (x, y) –> (x – 1, y)
  2. Eiti į kairę: (x, y) –> (x, y – 1)
  3. Eiti žemyn: (x, y) –> (x + 1, y)
  4. Eiti į dešinę: (x, y) –> (x, y + 1)

Taip pat žinoti, ar galime naudoti DFS norėdami rasti trumpiausią kelią?

ne, tu negali naudokite DFS, kad surastumėte trumpiausią kelią nesvertiniame grafike. Taip nėra, radimas į trumpiausias kelias tarp dviejų mazgų išskirtinai išsprendžia BFS. Nesvertiniame grafike trumpiausias kelias yra mažiausias briaunų, kurias reikia pereiti nuo šaltinio iki paskirties mazgų, skaičius.

Koks BFS veikimo laikas?

Sudėtingumas Pirmoji paieška pagal plotį turi veikimo laikas O (V + E) O (V + E) O (V+E), nes kiekviena viršūnė ir kiekviena briauna bus patikrinta vieną kartą. Atsižvelgiant į grafiko įvestį, O (E) O(E) O(E) gali būti tarp O (1) O(1) O(1) ir O (V 2) O(V^2) O(V2)).

Rekomenduojamas: