adding algorithm for Dijkstra using priority queue