Дийкстранын алгоритминин татаалдыгы эмнеде?
Дийкстранын алгоритминин татаалдыгы эмнеде?

Video: Дийкстранын алгоритминин татаалдыгы эмнеде?

Video: Дийкстранын алгоритминин татаалдыгы эмнеде?
Video: 🐊Стальной аллигатор🌚 #инструмент #стройка #ремонт #дача #авто 2024, Май
Anonim

Убакыт татаалдыгы Дийкстранын алгоритми O (V 2), бирок мини-артыкчылыктуу кезек менен ал O (V + E l o g V) чейин төмөндөйт.

Мындан тышкары, мисалы менен Dijkstra алгоритми кандай?

Dijkstra алгоритми (же Dijkstra's Эң кыска жол Биринчи алгоритм , SPF алгоритм ) болуп саналат алгоритм Графиктеги түйүндөрдүн ортосундагы эң кыска жолдорду табуу үчүн, алар үчүн мисал , жол тармактары. Графиктеги берилген булак түйүнү үчүн алгоритм ошол түйүн менен башкасынын ортосундагы эң кыска жолду табат.

Ошондой эле билиңиз, Дижкстранын алгоритми оптималдуубу? Dijkstra алгоритми график боюнча издөө үчүн колдонулат. бул оптималдуу , бул эң кыска жолду табат дегенди билдирет. Бул маалыматсыз, демек, ал максаттуу түйүндү колунан мурун билиши керек эмес. Чынында ал ар бир түйүндөн келип чыккан түйүнгө эң кыска жолду табат.

Мындан тышкары, Dijkstra алгоритми эмне кылат?

Дижкстранын алгоритмин а-нын бир түйүнүнөн эң кыска жолду аныктоо үчүн колдонсо болот график ошол эле ичиндеги ар бир башка түйүнгө график түйүндөр баштапкы түйүндөн жетүүгө мүмкүн болгон шартта маалымат структурасы. Эң кыска жолду табуу үчүн Дайкстранын алгоритмин колдонсо болот.

Dijkstra BFS же DFSби?

Dijkstra's алгоритм Дейкстрага таандык алгоритм, ал алгоритм да эмес, анткени BFS жана DFS өздөрү эмес Dijkstra's алгоритм: BFS аралыктарды сактоо үчүн артыкчылыктуу кезекти (же массивди колдонсоңуз) колдонбойт. BFS четки релаксацияларды аткарбайт.

Сунушталууда: