როგორ გამოვიყენო BFS უმოკლესი გზის მოსაძებნად?
როგორ გამოვიყენო BFS უმოკლესი გზის მოსაძებნად?

ვიდეო: როგორ გამოვიყენო BFS უმოკლესი გზის მოსაძებნად?

ვიდეო: როგორ გამოვიყენო BFS უმოკლესი გზის მოსაძებნად?
ვიდეო: Breadth First Search - Finding Shortest Paths in Unweighted Graphs 2024, მაისი
Anonim

რომ იპოვე The უმოკლესი გზა , თქვენ მხოლოდ უნდა დაიწყოთ წყაროდან და შეასრულოთ ა სიგანე ჯერ მოძებნე და გაჩერდი როცა იპოვე თქვენი დანიშნულების კვანძი. ერთადერთი, რაც უნდა გააკეთოთ, არის წინა[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 უმოკლესი გზის მოსაძებნად დაუწონებელ გრაფაში. ასე არ არის, რომ, მოძიება The უმოკლესი გზა ორ კვანძს შორის ექსკლუზიურად წყდება BFS. დაუწონებელ გრაფაში უმოკლესი გზა არის კიდეების ყველაზე მცირე რაოდენობა, რომელიც უნდა გაიაროს წყაროდან დანიშნულების კვანძებამდე.

რა არის BFS-ის მუშაობის დრო?

სირთულის Breadth First Search Breadth-first ძიება აქვს გაშვების დრო 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) შორის).

გირჩევთ: