Cormen, Thomas, Charles Leiserson, Ronald Rivest, and Clifford Stein. "Section 24.3: Dijkstra's algorithm." In Introduction to Algorithms, 595-601. Second ed. MIT Press and McGraw?Hill, 2001.