Ako môžem použiť BFS na nájdenie najkratšej cesty?
Ako môžem použiť BFS na nájdenie najkratšej cesty?

Video: Ako môžem použiť BFS na nájdenie najkratšej cesty?

Video: Ako môžem použiť BFS na nájdenie najkratšej cesty?
Video: Shortest Path using BFS Algorithm | Unweighted Graph | BFS | DFS | GATE | DSA 2024, November
Anonim

Komu Nájsť a najkratšia cesta , všetko, čo musíte urobiť, je začať od zdroja a vykonať a najprv na šírku hľadajte a zastavte sa Nájsť váš cieľový uzol. Jediná ďalšia vec, ktorú musíte urobiť, je mať pole previous[n], ktoré uloží predchádzajúci uzol pre každý navštívený uzol. Predchádzajúci zdroj môže byť nulový.

Tiež sa pýtali, prečo BFS nájde najkratšiu cestu?

Hovoríme to BFS je algoritmus, ktorý použijeme, ak chceme nájsť najkratšiu cestu v neorientovanom, neváženom grafe. Nárok na BFS je, že pri prvom objavení uzla počas prechodu je táto vzdialenosť od zdroja by dajte nám najkratšia cesta . To isté sa nedá povedať o váženom grafe.

Tiež viete, kde je najkratšia cesta v bludisku? Nájdite najkratšiu cestu v bludisku

  1. Prejsť nahor: (x, y) –> (x – 1, y)
  2. Choďte doľava: (x, y) –> (x, y – 1)
  3. Prejsť nadol: (x, y) –> (x + 1, y)
  4. Choďte doprava: (x, y) –> (x, y + 1)

Tiež vedieť, môžeme použiť DFS na nájdenie najkratšej cesty?

nie, vy nemôže použite DFS na nájdenie najkratšej cesty v neváženom grafe. Nie je to tak, nález a najkratšia cesta medzi dvoma uzlami rieši výlučne BFS. V neváženom grafe je najkratšia cesta sú najmenší počet hrán, ktoré je potrebné prejsť zo zdrojových do cieľových uzlov.

Aká je prevádzková doba BFS?

Zložitosť Hľadanie najprv do šírky Hľadanie do šírky má doba chodu of O (V + E) O(V + E) O(V+E), pretože každý vrchol a každá hrana budú skontrolované raz. V závislosti od vstupu do grafu môže byť O (E) O(E) O(E) medzi O (1) O(1) O(1) a O (V 2) O(V^2) O(V2).

Odporúča: