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ć.
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ń.
BFS w grafie bez wag jest chyba najłatwiejszy i najprostszy do zrozumienia.
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
Na podstawie tego opisu zaprogramowałem A* bez żadnych problemów ;) - http://www.policyalmanac.org/games/aStarTutorial.htm
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.