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:
- 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?
- 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