Dijkstra’s weighted shortest path algorithm