Quand on parle de recherche de plus court chemin, en général, on fait allusion à l'algo de Dijkstra
très court, et relativement efficace.
Une fois que tu l'as manipulé une paire de fois, ça prend à tout casser deux heures pour le programmer.
(bon, par contre, tu peux passer une paire de jours dessus avant à réfléchir

)
Sinon, comme le disait
./2, l'algo A* est souvent utilisé pour du pathfinding.
Contrairement à Dijkstra, il ne donne pas LE meilleur chemin, mais plutot UN chemin considéré comme assez bon (selon les réglages que tu fais, le chemin sera plus ou moins bon... et le calcul moins ou plus rapide)
peut-être plus facile à implémenter que Dijkstra quand tu les connais pas trop...
Après, à toi de bien comprendre les différences entre les deux algos, afin de savoir expliquer pourquoi l'un est mieux que l'autre dans certains cas, pourquoi est-ce que c'est l'inverse dans d'autres cas, et pourquoi tu as choisi celui que tu choisis au final
(sauf si tu choisis les deux : l'un dans les cas où il est probable qu'il soit le meilleur, et l'autre dans les autres cas)
enfin, une paire de tours sur google, et tu trouveras ton bonheur

(du moins, il y a deux ans, on trouvait pas mal de docs sur A*, sans même trop chercher)