This document summarizes Dijkstra's algorithm, a graph search algorithm that finds the shortest paths between nodes in a graph. It works for both directed and undirected graphs with non-negative edge weights. The algorithm uses a greedy approach to solve the single-source shortest path problem by tracking the shortest distance from a source node to all other nodes. The time complexity is O(ElogV) when using a priority queue and O(V^2) when using an adjacency matrix. Real-world applications of Dijkstra's algorithm include GPS navigation systems, modeling disease spreading, and routing protocols.