A program designed to find the shortest path between two points in a directed or undirected graph.