Dijkstra Algorithm Using Dynamic Programming