Би хамгийн богино замыг олохын тулд BFS-г хэрхэн ашиглах вэ?
Би хамгийн богино замыг олохын тулд BFS-г хэрхэн ашиглах вэ?

Видео: Би хамгийн богино замыг олохын тулд BFS-г хэрхэн ашиглах вэ?

Видео: Би хамгийн богино замыг олохын тулд BFS-г хэрхэн ашиглах вэ?
Видео: Hook Yarn & Dish 350 - Our Friday Live Crochet Chat! April 7 2024, Дөрөвдүгээр сар
Anonim

руу олох нь хамгийн богино зам , таны хийх ёстой зүйл бол эх сурвалжаас эхэлж, a эхлээд өргөн хайгаад зогсоо олох таны очих цэг. Таны хийх цорын ганц нэмэлт зүйл бол зочилсон зангилаа бүрийн өмнөх цэгийг хадгалах өмнөх[n] массивтай байх явдал юм. Эх сурвалжийн өмнөх нь null байж болно.

Мөн BFS яагаад хамгийн дөт замыг олдог вэ?

Бид ингэж хэлдэг BFS нь Хэрэв бид хүсвэл ашиглах алгоритм хамгийн богино замыг олох чиглүүлээгүй, жингүй графикт. Нэхэмжлэл BFS гүйлтийн явцад анх удаа зангилаа илрэх үед эх үүсвэрээс хол зайд оршдог болно бидэнд өг хамгийн богино зам . Жинсэн графикийн хувьд ижил зүйлийг хэлж болохгүй.

Мөн төөрдөг байшин дахь хамгийн дөт зам хаана байдгийг мэдэх үү? Төөрдөг байшингаас хамгийн богино замыг олох

  1. Дээш явах: (x, y) –> (x – 1, y)
  2. Зүүн тийш явах: (x, y) –> (x, y – 1)
  3. Доош явах: (x, y) –> (x + 1, y)
  4. Баруун тийшээ явах: (x, y) –> (x, y + 1)

Хамгийн богино замыг олохын тулд DFS ашиглаж болох уу?

Үгүй, Та чадахгүй Хамгийн богино замыг олохын тулд DFS ашиглана уу жингүй графикт. Энэ нь тийм биш юм, олох нь хамгийн богино зам Хоёр зангилааны хоорондох асуудлыг зөвхөн BFS шийддэг. Жингүй графикт хамгийн богино зам нь эх үүсвэрээс хүрэх цэг хүртэл дамжих ёстой хамгийн бага тооны ирмэгүүд юм.

BFS ажиллах хугацаа хэд вэ?

Нарийн төвөгтэй байдал Breadth First Search Breadth- First Search тай ажиллах хугацаа Орой бүр болон ирмэг бүрийг нэг удаа шалгах тул O (V + E) O(V + E) O(V+E) байна. Графикийн оролтоос хамааран O (E) O(E) O(E) нь O (1) O(1) O(1) ба O (V 2) O(V^2) O(V2) хооронд байж болно.).

Зөвлөмж болгож буй: