Kā izmantot BFS, lai atrastu īsāko ceļu?
Kā izmantot BFS, lai atrastu īsāko ceļu?

Video: Kā izmantot BFS, lai atrastu īsāko ceļu?

Video: Kā izmantot BFS, lai atrastu īsāko ceļu?
Video: Shortest Path using BFS Algorithm | Unweighted Graph | BFS | DFS | GATE | DSA 2024, Maijs
Anonim

Uz atrast uz īsākais ceļš , viss, kas jums jādara, ir jāsāk no avota un jāveic a vispirms platums meklēt un apturēt, kad jūs atrast jūsu galamērķa mezgls. Vienīgā papildu lieta, kas jums jādara, ir jābūt masīvam previous[n], kas saglabās iepriekšējo mezglu katram apmeklētajam mezglam. Iepriekšējā avota vērtība var būt nulle.

Jautāja arī, kāpēc BFS atrod īsāko ceļu?

Mēs to sakām BFS ir algoritms, ko izmantot, ja vēlamies atrast īsāko ceļu nevirzītā, nesvērtā grafikā. Prasība par BFS ir tas, ka pirmo reizi šķērsošanas laikā tiek atklāts mezgls, šis attālums no avota būtu dod mums īsākais ceļš . To nevar teikt par svērto grafiku.

Ziniet arī, kur ir īsākais ceļš labirintā? Atrodiet īsāko ceļu labirintā

  1. Doties uz augšu: (x, y) –> (x – 1, y)
  2. Doties pa kreisi: (x, y) –> (x, y – 1)
  3. Doties uz leju: (x, y) –> (x + 1, y)
  4. Doties pa labi: (x, y) –> (x, y + 1)

Kā arī zināt, vai mēs varam izmantot DFS, lai atrastu īsāko ceļu?

Nē, tu nevar izmantojiet DFS, lai atrastu īsāko ceļu nesvērtā grafikā. Nav tā, ka atrašana uz īsākais ceļš starp diviem mezgliem atrisina tikai BFS. Nesvērtā grafikā īsākais ceļš ir mazākais malu skaits, kas jāšķērso no avota uz galamērķa mezgliem.

Kāds ir BFS darbības laiks?

Sarežģītība Meklēšana pēc platuma pirmā meklēšana ir darbības laiks no O (V + E) O(V + E) O(V+E), jo katra virsotne un katra mala tiks pārbaudīta vienreiz. Atkarībā no diagrammas ievades O (E) O(E) O(E) var būt starp O (1) O(1) O(1) un O (V 2) O(V^2) O(V2)).

Ieteicams: