Dijkstra's algorithm, and heaps