Add Dijkstra algorithm implementation based on priority queue