# Comparison of Dijkstra’s and Floyd–Warshall algorithms

**Main Purposes: **

- Dijkstra’s Algorithm is one example of a single-source shortest or SSSP algorithm, i.e., given a source vertex it finds shortest path from source to all other vertices.
- Floyd Warshall Algorithm is an example of all-pairs shortest path algorithm, meaning it computes the shortest path between all pair of nodes.

**Time Complexities : **

- Time Complexity of Dijkstra’s Algorithm: O(E log V)
- Time Complexity of Floyd Warshall: O(V
^{3})

**Other Points:**

- We can use Dijskstra’s shortest path algorithm for finding all pair shortest paths by running it for every vertex. But time complexity of this would be O(VE Log V) which can go (V
^{3}Log V) in worst case. - Another important differentiating factor between the algorithms is their working towards distributed systems. Unlike Dijkstra’s algorithm, Floyd Warshall can be implemented in a distributed system, making it suitable for data structures such as Graph of Graphs (Used in Maps).
- Lastly Floyd Warshall works for negative edge but no negative cycle, whereas Dijkstra’s algorithm don’t work for negative edges.

This article is contributed by **Vineet Joshi**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

## Recommended Posts:

- What are the differences between Bellman Ford's and Dijkstra's algorithms?
- Minimum cost to reach from the top-left to the bottom-right corner of a matrix
- Minimum cost to traverse from one index to another in the String
- Add and Remove vertex in Adjacency Matrix representation of Graph
- What are the differences between Bellman Ford's and Dijkstra's algorithms?
- Find the minimum spanning tree with alternating colored edges
- Minimum cost to reverse edges such that there is path between every pair of nodes
- Check if given path between two nodes of a graph represents a shortest paths
- Minimum number of edges that need to be added to form a triangle
- Find count of pair of nodes at even distance
- Print completed tasks at end according to Dependencies
- Check if there exists a connected graph that satisfies the given conditions
- Welsh Powell Graph colouring Algorithm
- Word Ladder - Set 2 ( Bi-directional BFS )