Jump to content

Dijkstra's algorithm

From Simple English Wikipedia, the free encyclopedia
Revision as of 02:30, 10 April 2014 by Auntof6 (talk | changes) (simplify some; tag as complex; rem use of Wikipedia as ref)

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 .

Algorithm

Initialize distances of vertices to be infinity and that of source to be 0. Insert the source into the min-priority queue. Take the top-element of the min-priority queue and see all of its neighbours, if the distance of the neighbour using the current element is less than the previous distance of the neighbour, then update the distance and insert it into queue. Repeat this procedure till the queue gets empty.

References

Other websites