Формальное описание алгоритма

Пусть D (v) равно сумме весов связей для данного пути
и c (i,j) равно весу связи между узлами с номерами i и j.

Последовательность шагов, реализующих алгоритм:

Шаг 1. Установить множество узлов N = {1};

Шаг 2. Для каждого узла v не из множества n установить D (v)= c (1, v);

Шаг 3. Для каждого шага найти узел w не из множества N, для которого D (w) минимально, и добавить узел w в множество N;

Шаг 4. Актуализировать D (v) для всех узлов не из множества N
D (v)=min{ D (v), D (v)+ c (w,v)};

Шаг 5. Повторять шаги 2-4, пока все узлы не окажутся в множестве N.

а)

б)

Рис. 2.1. Иллюстрация работы алгоритма Дейкстры:

а) схема узлов AJ с метрикой для каждого отрезка пути;

б) топология маршрутов кратчайшего пути от узла А до J

Таблица 2.1

Реализация алгоритма Дейкстры

Шаг Множество N Метрика связи узла a с узлами
B C D E F G H I J
  {A}   -   - - - - - -
  {A,B} (3)       -   - - -
  {A,B,C}   (4)           -  
  {A,BC,D}     (6)            
  {A,B,C,D,E}       (6)          
  {A,B,C,D,E,H}             (8)    
  {A,B,C,D,E,H,I}               (9)  
  {A,B,C,D,E,H,I,F}         (10)        
  {A,B,C,D,E,H,I,F,G}           (10)      
  {A,B,C,D,E,H,I,F,G,J}                 (14)

Топология маршрутов кратчайшего пути для узла А приведена на рис.2.1,б. В скобках записаны числа, характеризующие метрику отобранного маршрута согласно критерию шага 3.

Табл. 2.1 может иметь различное содержимое в соответствии с приоритетом и типом параметров сети, выбранные пути при этом могут иметь другую топологию. Качество обслуживания (QoS) может характеризоваться следующими параметрами: пропускной способностью канала; задержкой (время прохождения пакета по сети); числом дайтаграмм, стоящих в очереди для передачи; загрузкой канала; требованиями безопасности; типом трафика; числом шагов до цели; возможностями промежуточных связей (например, многовариантность достижения адресата).

Также см. разд. «Теория» меню программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: