dijkstra algorithm is an algorithm finding a path with the lowest cost for moving from node A to B. all paths between each two nodes have the cost. storing node and the cost dataset into priority queue, picking up lower cost node first from the priority queue until arriving at the goal node.