Ինչպե՞ս կարող եմ օգտագործել BFS ամենակարճ ճանապարհը գտնելու համար:
Ինչպե՞ս կարող եմ օգտագործել BFS ամենակարճ ճանապարհը գտնելու համար:

Video: Ինչպե՞ս կարող եմ օգտագործել BFS ամենակարճ ճանապարհը գտնելու համար:

Video: Ինչպե՞ս կարող եմ օգտագործել BFS ամենակարճ ճանապարհը գտնելու համար:
Video: ZAZ, Tavria, Slavuta մակնիշի մեքենայի ղեկի փոխարինումը 2024, Ապրիլ
Anonim

Դեպի գտնել որ ամենակարճ ճանապարհը , ընդամենը պետք է սկսել աղբյուրից և կատարել ա լայնությունը նախ որոնել և դադարեցնել, երբ դուք գտնել ձեր նպատակակետ հանգույց. Միակ լրացուցիչ բանը, որ դուք պետք է անեք, դա նախորդ[n] զանգվածն է, որը կպահի նախորդ հանգույցը յուրաքանչյուր այցելած հանգույցի համար: Աղբյուրի նախորդը կարող է լինել զրոյական:

Նաև հարցրեց, թե ինչու է 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-ի գործարկման ժամանակը:

-ի բարդությունը Լայնություն առաջին որոնում Լայնություն-առաջին որոնում ունի վազքի ժամանակը 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) միջև:)

Խորհուրդ ենք տալիս: