Ինչպե՞ս գտնել ամենակարճ ճանապարհը ուղղորդված գրաֆիկում:
Ինչպե՞ս գտնել ամենակարճ ճանապարհը ուղղորդված գրաֆիկում:

Video: Ինչպե՞ս գտնել ամենակարճ ճանապարհը ուղղորդված գրաֆիկում:

Video: Ինչպե՞ս գտնել ամենակարճ ճանապարհը ուղղորդված գրաֆիկում:
Video: Ինչպե՞ս հասնել նպատակներին և դառնալ հաջողակ (5 պարզ քայլ) 2024, Մայիս
Anonim

Տրվում է կշռված Ռեժիսոր Ացիկլիկ Գրաֆիկ և աղբյուրի գագաթնակետում գրաֆիկ , գտնել ամենակարճ ուղիները տրված աղբյուրից մինչև մյուս բոլոր գագաթները:

Ամենակարճ ճանապարհը ուղղորդված ացիկլիկ գրաֆիկում

  1. Նախաձեռնել dist = {INF, INF, ….}
  2. Ստեղծեք բոլոր գագաթների տոպոլոգիական կարգը:
  3. Հետևեք յուրաքանչյուր u գագաթի համար տոպոլոգիական կարգով:

Այս կերպ ինչպե՞ս եք գտնում գրաֆիկի վրա ամենակարճ ճանապարհը:

Ալգորիթմի քայլերը. ա գրաֆիկ գագաթներով. Նախաձեռնել ամենակարճ ուղիները Անսահմանություն ունեցող ցանկացած գագաթների միջև: Գտեք բոլորը զույգ ամենակարճ ուղիները որոնք օգտագործում են միջանկյալ գագաթներ, ապա գտնել որ ամենակարճ ուղիները որոնք օգտագործում են միջանկյալ գագաթը և այլն.. մինչև բոլոր գագաթները որպես միջանկյալ հանգույցներ օգտագործելը։

Բացի վերևից, ինչպե՞ս եք գտնում DFS-ում ամենակարճ ճանապարհը: Ոչ, դուք չեք կարող օգտագործել DFS դեպի գտնել ամենակարճ ճանապարհը չկշռված գրաֆիկում: Այնպես չէ, որ, գտնելը որ ամենակարճ ճանապարհը երկու հանգույցների միջև լուծվում է բացառապես BFS-ի կողմից:

Նմանապես, ինչպե՞ս կարելի է գտնել ծառի ամենակարճ ճանապարհը:

  1. Տրավերս ծառ (խորությունը՝ առաջինը)
  2. Պահպանեք ինդեքսները (հանգույցները)
  3. ավելացնել արժեքները.
  4. արեք (1) մինչև ծառի վերջը:
  5. համեմատեք գումարը և տպեք ուղին և գումարը:

Ո՞ր ալգորիթմն է օգտագործվում ամենակարճ ճանապարհը գտնելու համար:

Dijkstra's Shortest Path First ալգորիթմ

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