Steps in Dijkstra's algorithm
1. Mark the starting node with a distance of zero, and all the other nodes as being 'infinity' distance away
2. Go to the unvisited node with the lowest distance value
3. Update any nodes attached to the current node with the total distance to travel to that node, if smaller than the existing value
4. Mark the current node as 'visited'
5. If there are still unvisited nodes, repeat from step 2