Page 57 - 4336
        P. 57
     вершини i у вершину j, у якому в якості проміжних допускається
                  використання тільки перших m вершин. Таким чином,
                                                                     m
                                           d i m    min  d i m  1    d m , j 1   ;d i m  1   .  (4.2)
                                             , j
                                                            ,m
                                                                              , j
                         Із співвідношення (4.2) видно, що для обчислення елементів
                  матриці  D   необхідно  мати  лише  елементами  матриці  D                                .
                  Більше  того,  відповідні  обчислення  можуть  бути  проведені  без
                  звертання до вхідного графа.
                         Алгоритм  Флойда-Уоршола  для  знаходження  на  графі
                  найкоротших  шляхів  між  усіма  парами  вершин  виглядає
                  наступним чином.
                         Крок 1.  Занумерувати  вершини  вхідного  графа  цілими
                  числами  від 1  до  N.  Визначити  матрицю  D ,  задавши  величину
                  кожного  її  елемента      рівну  довжині  найкоротшої  дуги,  що
                                                    ,
                  з'єднує  вершину  i  з  вершиною  j.  Якщо  у  вихідному  графі
                  зазначені вершини не з'єднуються дугами, то                           ∞. Крім того,
                                                                                    ,
                  для всіх i=j –           0.
                                       ,
                         Крок 2. Для цілого m, що послідовно набуває значень 1, 2,...,
                  N,  визначити  за  величинами  елементів  матриці  D                          величини
                  елементів          матриці          D ,        використовуючи              рекурсивне
                  співвідношення (4.2).  При  визначенні  величини  кожного
                  елемента матриці D  фіксувати відповідний найкоротший шлях.
                         По  закінченню  даної  процедури  величина  елемента
                                                                                                           ,
                  матриці  D   визначає  довжину  найкоротшого  шляху,  що  веде  з
                  вершини i у вершину j.
                         Те,  що  описаний  алгоритм  дійсно  знаходить  найкоротші
                  шляхи,  може  бути  індуктивно  доведено  на  основі  наступного
                  факту.  Довжина  найкоротшого  шляху  з  вершини  i  у  вершину j,
                                                              57
     	
