Та Дийкстрагийн хамгийн богино замын алгоритмыг хэрхэн ашигладаг вэ?
Та Дийкстрагийн хамгийн богино замын алгоритмыг хэрхэн ашигладаг вэ?

Видео: Та Дийкстрагийн хамгийн богино замын алгоритмыг хэрхэн ашигладаг вэ?

Видео: Та Дийкстрагийн хамгийн богино замын алгоритмыг хэрхэн ашигладаг вэ?
Видео: График өгөгдлийн бүтэц 4. Дийкстрагийн хамгийн богино замын алгоритм 2024, Гуравдугаар сар
Anonim

Дийкстрагийн алгоритм олохын тулд хамгийн богино зам a болон b хооронд. Энэ нь зочлоогүй оройг хамгийн доод цэгээр сонгоно зай , -ийг тооцоолно зай түүгээр дамжуулан зочлоогүй хөрш бүрт, мөн хөршийнхөө шинэчилдэг зай бага бол. Хөршүүдтэйгээ хийж дууссаны дараа зочилсон тэмдэглэгээ (улаанаар тохируулсан).

Үүний нэгэн адил хүмүүс хамгийн сайн богино замын алгоритм гэж юу вэ?

  • Дийкстрагийн алгоритм. Дийкстрагийн алгоритм нь ижил график өгөгдлийн бүтцээс нэг зангилаанаас бусад бүх цэг хүртэлх хамгийн богино замыг олох чадвараараа бусдаас ялгардаг.
  • Беллман-Фордын алгоритм.
  • Флойд-Варшаллын алгоритм.
  • Жонсоны алгоритм.
  • Эцсийн тэмдэглэл.

Дийкстрагийн хамгийн богино замын алгоритмын цаг хугацааны нарийн төвөгтэй байдал хэд вэ? Дийкстрагийн алгоритмын цаг хугацааны нарийн төвөгтэй байдал нь O (V 2) боловч хамгийн чухал дараалалтай бол O (V + E l o g V) болж буурдаг.

Ийм байдлаар Dijkstra BFS эсвэл DFS мөн үү?

Дийкстрагийнх алгоритм Дийкстрагийнх юм алгоритм, энэ нь аль аль нь алгоритм биш, учир нь BFS болон DFS өөрсдөө биш Дийкстрагийнх алгоритм: BFS зайг хадгалах тэргүүлэх дарааллыг (эсвэл массивыг ашиглахыг бодвол) ашигладаггүй. BFS захын сулралт хийдэггүй.

Dijkstra динамик програмчлал мөн үү?

Динамик Алгоритм гэдэг нь процедурыг энгийн ажил болгон задлахыг хэлнэ. Гэсэн хэдий ч, From a динамик програмчлал үзэл бодол, Дийкстрагийнх алгоритм нь дараалсан ойртуулах схем юм динамик програмчлал Хүрэх аргаар хамгийн богино замын бодлогын функциональ тэгшитгэл.

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