Чиглэгдсэн график дахь хамгийн богино замыг хэрхэн олох вэ?
Чиглэгдсэн график дахь хамгийн богино замыг хэрхэн олох вэ?

Видео: Чиглэгдсэн график дахь хамгийн богино замыг хэрхэн олох вэ?

Видео: Чиглэгдсэн график дахь хамгийн богино замыг хэрхэн олох вэ?
Видео: Дийкстрагийн алгоритмын жишээ 2024, Арваннэгдүгээр
Anonim

Жинлүүр өгсөн найруулсан Цикл бус График ба эх сурвалжийн орой график , хайх хамгийн богино замууд өгөгдсөн эх сурвалжаас бусад бүх орой хүртэл.

Чиглүүлсэн циклик график дахь хамгийн богино зам

  1. Dist-г эхлүүлэх = {INF, INF, ….}
  2. Бүх оройн топлогик дарааллыг үүсгэ.
  3. u орой бүрийг топологийн дарааллаар гүйцэтгэнэ.

Ийм байдлаар та график дээрх хамгийн богино замыг хэрхэн олох вэ?

Алгоритмын алхамууд: a график оройтой: Эхлүүлэх хамгийн богино замууд Infinity бүхий дурын оройн хооронд. Хай бүгд хос хамгийн богино замууд завсрын оройг ашигладаг, тэгвэл олох нь хамгийн богино замууд завсрын оройг ашигладаг гэх мэт.. бүх оройг завсрын зангилаа болгон ашиглах хүртэл.

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

Үүний нэгэн адил та модны хамгийн дөт замыг хэрхэн олох вэ?

  1. Хөндлөнгийн мод (гүн-эхлээд)
  2. Индексүүдийг (зангилаа) хадгалах
  3. утгуудыг нэмнэ.
  4. (1) модны төгсгөл хүртэл хийх.
  5. нийлбэрийг харьцуулж, зам болон нийлбэрийг хэвлэ.

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

Дийкстрагийн хамгийн богино зам анхны алгоритм

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