Kako naj uporabim BFS za iskanje najkrajše poti?
Kako naj uporabim BFS za iskanje najkrajše poti?

Video: Kako naj uporabim BFS za iskanje najkrajše poti?

Video: Kako naj uporabim BFS za iskanje najkrajše poti?
Video: Вкусный пирог НА СКОВОРОДЕ за 5 минут + время на выпечку. Влажный, мягкий и ароматный, как КЕКС. 2024, April
Anonim

Za najti the najkrajša pot , vse kar morate storiti je, da začnete od vira in izvedete a najprej širina poiščite in se ustavite, ko boste najti vaše ciljno vozlišče. Edina dodatna stvar, ki jo morate narediti, je, da imate matriko previous[n], ki bo shranila prejšnje vozlišče za vsako obiskano vozlišče. Predhodni del vira je lahko nič.

Prav tako se sprašuje, zakaj BFS najde najkrajšo pot?

To pravimo BFS je algoritem, ki ga uporabimo, če želimo najti najkrajšo pot v neusmerjenem, neuteženem grafu. Zahtevek za BFS je, da je prvič, ko je vozlišče odkrito med prehodom, ta oddaljenost od vira bi daj nam najkrajša pot . Enako ne moremo reči za tehtani graf.

Vedite tudi, kje je najkrajša pot v labirintu? Poiščite najkrajšo pot v labirintu

  1. Pojdi navzgor: (x, y) –> (x – 1, y)
  2. Pojdi levo: (x, y) –> (x, y – 1)
  3. Pojdi dol: (x, y) –> (x + 1, y)
  4. Pojdi desno: (x, y) –> (x, y + 1)

Tudi vedeti, ali lahko uporabimo DFS za iskanje najkrajše poti?

ne, ti ne more uporabite DFS za iskanje najkrajše poti v neuteženem grafu. Ni tako, ugotovitev the najkrajša pot med dvema vozliščema rešuje izključno BFS. V neuteženem grafu najkrajša pot so najmanjše število robov, ki jih je treba prehoditi od izvornih do ciljnih vozlišč.

Kakšen je čas delovanja BFS?

Kompleksnost oz Iskanje v širino Prvo iskanje v širino ima čas delovanja od O (V + E) O(V + E) O(V+E), saj bo vsako točko in vsak rob enkrat preverjeno. Glede na vnos v graf je lahko O (E) O(E) O(E) med O (1) O(1) O(1) in O (V 2) O(V^2) O(V2).

Priporočena: