Cum folosesc BFS pentru a găsi calea cea mai scurtă?
Cum folosesc BFS pentru a găsi calea cea mai scurtă?

Video: Cum folosesc BFS pentru a găsi calea cea mai scurtă?

Video: Cum folosesc BFS pentru a găsi calea cea mai scurtă?
Video: Shortest Path using BFS Algorithm | Unweighted Graph | BFS | DFS | GATE | DSA 2024, Mai
Anonim

La găsi cel calea cea mai scurtă , tot ce trebuie să faceți este să începeți de la sursă și să efectuați a latimea mai intai caută și oprește-te când tu găsi Nodul dvs. de destinație. Singurul lucru suplimentar pe care trebuie să-l faceți este să aveți o matrice anterior[n] care va stoca nodul anterior pentru fiecare nod vizitat. Anteriorul sursei poate fi nul.

Întrebat, de asemenea, de ce găsește BFS cea mai scurtă cale?

Noi spunem asta BFS este algoritm de utilizat dacă vrem găsi calea cea mai scurtă într-un grafic nedirecționat, neponderat. Cererea pentru BFS este că prima dată când un nod este descoperit în timpul traversării, acea distanță de la sursă ar dă-ne calea cea mai scurtă . Nu același lucru se poate spune despre un grafic ponderat.

De asemenea, știți, unde este calea cea mai scurtă din labirint? Găsiți cea mai scurtă cale într-un labirint

  1. Sus: (x, y) –> (x – 1, y)
  2. Mergeți la stânga: (x, y) –> (x, y – 1)
  3. Coborâți: (x, y) –> (x + 1, y)
  4. Mergeți la dreapta: (x, y) –> (x, y + 1)

De asemenea, pentru a ști, putem folosi DFS pentru a găsi calea cea mai scurtă?

Nu, tu nu poti utilizați DFS pentru a găsi calea cea mai scurtă într-un grafic neponderat. Nu este cazul ca, găsirea cel calea cea mai scurtă între două noduri este rezolvată exclusiv de BFS. Într-un grafic neponderat calea cea mai scurtă sunt cel mai mic număr de muchii care trebuie parcurse de la nodurile sursă la destinație.

Care este durata de funcționare a BFS?

Complexitatea de Breadth First Search. Breadth-first search are o timpul pentru alergat de O (V + E) O (V + E) O (V+E) deoarece fiecare vârf și fiecare muchie vor fi verificate o dată. În funcție de intrarea în grafic, O (E) O(E) O(E) ar putea fi între O (1) O(1) O (1) și O (V 2) O (V^2) O (V2)).

Recomandat: