Ən qısa yolu tapmaq üçün BFS-dən necə istifadə edə bilərəm?
Ən qısa yolu tapmaq üçün BFS-dən necə istifadə edə bilərəm?

Video: Ən qısa yolu tapmaq üçün BFS-dən necə istifadə edə bilərəm?

Video: Ən qısa yolu tapmaq üçün BFS-dən necə istifadə edə bilərəm?
Video: Smartfonla necə NFC ödəniş etmək olar? | Technote 2024, Noyabr
Anonim

Kimə tapmaq the ən qısa yol , etməli olduğunuz yeganə şey mənbədən başlamaq və a ilk növbədə genişlik axtarın və istədiyiniz zaman dayandırın tapmaq təyinat Node. Etməli olduğunuz yeganə əlavə şey, ziyarət edilən hər node üçün əvvəlki qovşağı saxlayacaq əvvəlki[n] massivinə sahib olmaqdır. Mənbənin əvvəlkisi null ola bilər.

Həmçinin soruşulur ki, BFS niyə ən qısa yolu tapır?

Biz bunu deyirik BFS edir istəsək istifadə edəcəyimiz alqoritm ən qısa yolu tapın yönləndirilməmiş, çəkisiz bir qrafikdə. üçün iddia BFS odur ki, keçid zamanı ilk dəfə qovşaq aşkar edildikdə, mənbədən həmin məsafə olardı bizə verin ən qısa yol . Eyni şeyi çəkili qrafik üçün demək olmaz.

Həmçinin bilin, labirintdə ən qısa yol haradadır? Labirentdə ən qısa yolu tapın

  1. Yuxarı qalx: (x, y) –> (x – 1, y)
  2. Sola gedin: (x, y) –> (x, y – 1)
  3. Aşağı gedin: (x, y) –> (x + 1, y)
  4. Sağa gedin: (x, y) –> (x, y + 1)

Həmçinin bilmək lazımdır ki, ən qısa yolu tapmaq üçün DFS-dən istifadə edə bilərikmi?

Yox, Sən bilməz ən qısa yolu tapmaq üçün DFS istifadə edin çəkisiz bir qrafikdə. Belə deyil ki, tapmaq the ən qısa yol iki qovşaq arasında yalnız BFS tərəfindən həll edilir. Çəkisiz bir qrafikdə ən qısa yol mənbədən təyinat qovşaqlarına keçmək lazım olan ən kiçik sayda kənarlardır.

BFS-nin işləmə müddəti nədir?

-nin mürəkkəbliyi Genişlik İlk Axtarış Genişlik-ilk axtarış Nə var işləmə vaxtı of O (V + E) O(V + E) O(V+E) çünki hər təpə və hər kənar bir dəfə yoxlanılacaq. Qrafikə girişdən asılı olaraq, O (E) O(E) O(E) O (1) O(1) O(1) və O (V 2) O(V^2) O(V2) arasında ola bilər.).

Tövsiyə: