$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Најкраћи путеви измећу свих парова чворова

Уколико желимо да одредимо најкраће путеве између свих парова чворова можемо покренути Дајкстрин алгоритам из сваког чвора у графу, а можемо употребити и неки од специјализованих алгоритама за проналажење свих најкраћих путева. Један од најпознатијих путева тог типа је Флојд-Варшалов алгоритам. Након \(k\) корака алгоритма претпоставићемо да су познате најкраће дужине путева између свих чворова, при чему се на тим путевима као међучворови могу користити само чворови из скупа \(V_k = \{0, 1, \ldots k-1\}\). У сваком наредном кораку додајемо чвор \(k\) и пошто сада анализирамо путеве између чворова \(i\) и \(j\) који могу водити преко чворова \(V_{k+1} = \{0, 1, \ldots, k\}\), упоређујемо дужину пута између та два чвора који не иде преко чвора \(k\) већ само преко чворова из \(V_k\) (ту дужину већ знамо) и дужину која иде преко чвора \(k\) која је једнака збиру дужина најкраћег пута од \(i\) до \(k\) преко \(V_k\) и најкраћег пута од \(k\) до \(j\) преко \(V_k\) (обе ове дужине већ знамо). У случају да се дужине свих најкраћих путева чувају у матрици, Флојд-Варшалов алгоритам се веома једноставно имплементира (помоћу три угнежђена циклуса) и сложеност му је \(O(n^3)\), где је \(n\) број чворова у графу.

Флојд-Варшалов алгоритам можемо употребити и за одређивање транзитивног затворења дате релације (тада нас не занимају дужине пута, већ само постојање пута између два чвора).