RtVvq9CXU2hyV
Zdjęcie przedstawia widok z satelity, na którym widać oświetlenie większych miast.

Algorytm Dijkstry

Źródło: NASA, domena publiczna.

Zastanów się, na podstawie czego podejmiesz decyzję, jaką drogą dojść na miejsce spotkania z kolegą lub koleżanką czy do kina. Być może jednym z kryteriów będzie to, by odcinek do przejścia był jak najkrótszy. O ile łatwo zaplanować taką drogę, gdy odległość jest niewielka, o tyle sytuacja się komplikuje, gdy w taki sposób zaplanować masz podróż z miasta do miasta.

Problem, który się pojawia, w algorytmice znany jest jako problem szukania najkrótszej ścieżki. Należ do jednych z najbardziej znanych problemów grafowych. Istnieje konkretny algorytm, który może zostać wykorzystany do jego rozwiązania. Omawiamy go w tym e‑materiale – to algorytm Dijkstry.

Implementację tego algorytmu w wybranych językach programowania znajdziesz w e‑materiałach:

Twoje cele
  • Zastosujesz podejście zachłanne w wyznaczaniu najkrótszych ścieżek.

  • Przeanalizujesz krok po kroku przykład zastosowania algorytmu Dijkstry dla grafu ważonego.

  • Wyjaśnisz, dlaczego w algorytmie Dijkstry decyzje lokalnie optymalne prowadzą nas do globalnie optymalnego rezultatu.