# Dijkstra's algorithm

Dijkstra's algorithm is a graph algorithm. It is used to solve single-source shortest path problem for non-negative edge costs. It takes a source vertex and finds the path with lowest cost between the source vertex and every other vertex in the graph. Time complexity varies with data structure used . The implementation based on min-priority queue implemented by a Fibonacci heap has running time $O(|E|+|V|\log|V|)$.