Direi che Dijkstra è abbastanza fondamentale.

Riguardo all'algoritmo qualcuno ha qualche idea ?