Dijkstra's algorithm is probably the most famous path finding algorithm. It is a greedy algorithm that will traverse the graph breadth first (see the following figure), starting from a given node (the start node) and trying to make the optimal choice regarding the shortest path at each step:

Graph traversal (reminder from Chapter 1, Graph Databases)
In order to understand the algorithm, let's run it on a simple graph.