Najkrótsza ścieżka w grafie

NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 11
0

W internecie jest wiele takich algorytmów, potrzebuję ogarnąć jeden, czy jest jakiś szczególny łatwy do zrozumienia który polecacie? Nie chce się go uczyć na pamięć tylko zrozumieć.

krzysiek050
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1272
2

https://pl.wikipedia.org/wiki/Algorytm_A*
lub
https://pl.wikipedia.org/wiki/Algorytm_Dijkstry

A* jest rozwinięciem Dijkstry i nadaje się do naprawdę wielu rozwiązań.

  • Rejestracja: dni
  • Ostatnio: dni
1

BFS w grafie bez wag jest chyba najłatwiejszy i najprostszy do zrozumienia.

NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 11
0

na wikipedia troche za tudno wytłumaczone, znalazłem inne źrodło, ale podkreśliłem czego nie mogę zrozumieć:

"W algorytmie tym pamiętany jest zbiór Q wierzchołków, dla których nie obliczono jeszcze najkrótszych ścieżek, oraz wektor D[i] odległości od wierzchołka s do i. Początkowo zbiór Q zawiera wszystkie wierzchołki a wektor D jest pierwszym wierszem macierzy wag krawędzi A."
Źrodło klik

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7112
0

Na podstawie tego opisu zaprogramowałem A* bez żadnych problemów ;) - http://www.policyalmanac.org/games/aStarTutorial.htm

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

Jesli to graf nieważony to prościej niż BFS sie nie da. Jeśli ważony to prosciej niż Bellman-Ford sie nie da. Dijkstra i A* są bardziej złożone z punktu widzenia implementacji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.