[Solved]: Does “standard” Dijkstra’s algorithm work with bi-directional edges and zero cost edges?

Problem Detail: I have been reading about Dijkstra’s algorithm and I think I understand it. I followed the algorithm in pseudo-code from Wikipedia, and now I wonder:

  1. If my graph is bi-directional and I add each edge to my graph twice (once “forwards”, once “backwards”), will the “standard” Dijkstra’s algorithm work?
  2. Is it ok that some of my edges are zero cost? (the rest are all positive – none are negative)

And finally, what is a Dijkstra “heap” algorithm? Is it the same as Dijkstra’s algorithm using a PriorityQueue?

Asked By : vikingsteve

Answered By : Alexey Romanov

Yes, both of these cases work. You can even have zero-cost loops.
Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/21280

Leave a Reply