Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Cisco Routing

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


Создана 25.06.2024
Отредактирована 25.06.2024
В видео рассматривается алгоритм нахождения кратчайшего пути, созданный нидерландским учёным Эдсгером Дейкстрой в 1959 году. Алгоритм Дейкстры позволяет найти кратчайшие пути от одной из вершин графа, называемой источником, до всех других вершин графа. Алгоритм может быть использован только на графах с неотрицательными весами дуг. 
Автор данного видео Царев Роман Юрьевич, преподаватель Сибирского федерального университета, представляет на своем канале видео, связанные с информационными технологиями. 


Я лишь дам некоторое объяснение к алгоритму с точки зрения откуда и как берутся значения, так как мне был немного не понятен этот аспект, это моя особенность с института. Возможно, вы с первого раза все поняли, а если нет, то это вам поможет.
Для нахождения искоммых значений, применяется формула ниже:
D[v]: = min(D[v], D[w] + C[w, v])
Начало
Значения 10, ∞, 30, 100 это стоимость дуг от вершины 1 до вершин 2, 3, 4, 5. 

Обратите внимание на знак ∞, так как прямой дуги не существует между вершинами 1 ---> 3, то мы обозначаем стоимость этим знаком.

Пройдемся по всем остальным строкам с 1 по 4 этерациям.
Итерация 1
Рассмотрим как были вычислены значения для вершин D[3] = 60, D[4] = 30, D[5] = 100, по формуле выше:
D[3]: = min(D[3], D[2] + C[2, 3]), где
D[v] = D[3] - это предыдущее значение, значения D[3]  = ∞ 
D[w] = D[2] - это наименьшее значение, равное 10 на предыдущем шаге (начало)
C[w, v] = C[2, 3] - стоимость дуги от вершины 2 к вершине 3 равное 50
выбираем минимальное значение между ∞ и 60 (10 + 50), где D[3]: = 60
D[4]: = min(D[4], D[2] + C[2, 4]), где
D[v] = D[4] - это предыдущее значение, значения D[4] = 30
D[w] = D[2] - это наименьшее значение, равное 10 на предыдущем шаге (начало)
C[w, v] = C[2, 4] - стоимость дуги от вершины 2 к вершине 4 равное ∞, так как такой вершины не существует
выбираем минимальное значение между 30 и ∞ (10 + ∞ = ∞), где D[4]: = 30
D[5]: = min(D[5], D[2] + C[2, 5]), где
D[v] = D[5] - это предыдущее значение, значения D[5] = 100
D[w] = D[2] - это наименьшее значение, равное 10 на предыдущем шаге (начало)
C[w, v] = C[2, 5] - стоимость дуги от вершины 2 к вершине 5 равное ∞, так как такой вершины не существует
выбираем минимальное значение между 100 и ∞ (10 + ∞ = ∞), где D[5]: = 100
Итерация 2
Рассмотрим как были вычислены значения для вершин D[3] = 50, D[5] = 90, на второй итерации:
D[3]: = min(D[3], D[2] + C[4, 3]), где
D[v] = D[3] - это предыдущее значение, значения D[3] = 60
D[w] = D[4] - это наименьшее значение, равное 30 на предыдущем шаге (Итерация 1)
C[w, v] = C[4, 3] - стоимость дуги от вершины 4 к вершине 3 равное 20
выбираем минимальное значение между 60 и 50 (30 + 20 = 50), где D[3]: = 50
D[5]: = min(D[5], D[2] + C[4, 5]), где
D[v] = D[5] - это предыдущее значение, значения D[5] = 100
D[w] = D[4] - это наименьшее значение, равное 30 на предыдущем шаге (Итерация 1)
C[w, v] = C[4, 5] - стоимость дуги от вершины 4 к вершине 5 равное 60
выбираем минимальное значение между 100 и 90 (30 + 60 = 90), где D[5]: = 90
Итерация 3
Рассмотрим как было вычислено значение для оставшейся вершины D[5] = 60, на третьей итерации:
D[5]: = min(D[5], D[2] + C[3, 5]), где
D[v] = D[5] - это предыдущее значение, значения D[5] = 90
D[w] = D[3] - это наименьшее значение, равное 50 на предыдущем шаге (Итерация 2)
C[w, v] = C[3, 5] - стоимость дуги от вершины 3 к вершине 5 равное 10
выбираем минимальное значение между 90 и 60 (50 + 10 = 60), где D[5]: = 60

🔁

RetraR — Компьютерные игры для Nintendo Game Boy
Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR
RetraR
Канал ретро компьютерных игр

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.