АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Алгоритм Дейкстри

Читайте также:
  1. XII. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
  2. Алгоритм
  3. Алгоритм MD4
  4. Алгоритм RC6
  5. Алгоритм RSA
  6. Алгоритм Брезенхема для окружности
  7. Алгоритм Брезенхема.
  8. Алгоритм взятия мазка из носа и зева.
  9. Алгоритм вибіркового методу
  10. Алгоритм вставки элемента в список после элемента с указанным ключом
  11. Алгоритм выполнения прически
  12. Алгоритм вычисления кодов Шеннона — Фано

В основу алгоритму Дейкстри покладено метод «найшвидшого спуску», що дає можливість на основі переліку вузлів мережі, взаємозв’язку між ними і довжини каналів зв’язку віднайти найкоротші шляхи від джерела інформації до всіх інших вузлів. Розглянемо роботу алгоритму на прикладі мережі, зображеної на рис. 8.4.

 

 

Рис. 8.4. Приклад мережі передачі даних

 

Побудова найкоротших шляхів здійснюється поетапно: починаючи з вузла А1 і до всіх інших вузлів. Процес є ітераційним і закінчується після того, як охоплено останній вузол мережі. На першому етапі обчислюються довжини (D1,i) всіх шляхів, що ведуть з першої вершини до решти вершин, пов’язаних з нею (у нашому випадку це множина вершин А ={ А2, А3, А5 }), для яких довжини шляхів збігаються з довжинами дуг: L1,2 =2; L1,3 = 1;
L1,5 = 4. Відповідно до значень формується таблиця маршрутів (табл. 8.1), перший стовпчик якої вказує на крок ітерації, другий — на кількість вершин, для яких формуються шляхи, а інші — на шлях і його довжину.

 

Таблиця 8.1. Таблиця маршрутів алгоритму Дейкстри

Крок ітерації Множина вершин Шлях
D(1,2) D(1,3) D(1,4) D(1,5) D(1,6)
  {A1} L1,2=2 L1,3=1 - L1,5=4 -
  13} L1,2=2 L1,3=1 (L1,3+L3,4)=4 (L1,3+L3,5)=3 -
  135} L1,2=2 L1,3=1 (L1,3+L3,4)=4 (L1,3+L3,5)=3 (L1,3+L3,5+L5,6)=5
  1352} L1,2=2 L1,3=1 (L1,3+L3,4)=3 (L1,3+L3,5)=3 (L1,3+L3,5+L5,6)=5
  13524} L1,2=2 L1,3=1 (L1,3+L3,4)=3 (L1,3+L3,5)=3 (L1,3+L3,5+L5,6)=5
  135246} L1,2=2 L1,3=1 (L1,3+L3,4)=3 (L1,3+L3,5)=3 (L1,3+L3,5+L5,6)=5

 

З-поміж доступних шляхів вибирається мінімальний (у нашому прикладі це шлях з першої вершини у третю (D1,3)). Далі обчислюються шляхи, що ведуть з вершини А1 у всі вершини, суміжні з вершиною А3. Це здійснюється додаванням до значення шляху (D1,3) довжини відповідної дуги. Одержані значення шляхів вносяться у таблицю маршрутів. Якщо в якусь із вершин шлях уже раніше визначався, то фіксується мінімальне значення шляху. Так, наприклад, після першого кроку довжина шляху D1,5 = L1,5 = 4, а після другого кроку формується нове значення шляху D1,5, (L1,3 + L3,5) = 3, яке і вноситься у таблицю маршрутів. Загалом, правило відновлення маршрутів визначається умовою згідно з Dj,i =(min[ Dj,i, Dj,k + Lk,і ]), де Dj,i — довжина маршруту з вихідної вершини у розрахункову; Dj,k — довжина шляху з вихідної вершини у поточну; а Lk,i — довжина дуги між поточною і розрахунковою вершинами.

Унаслідок третього кроку ітерації формується новий маршрут D1,6. На наступних етапах ітерації здійснюється подальше коригування маршрутів доти, поки не будуть розглянуті всі вершини графа зв’язків. Аналогічно обчислюються маршрути і для інших вузлів мережі передачі даних.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)