In Dijkstra\'s algorithm what should I do if there are two or more nodes with minimal weights at a point in the algorithm?
In wikipedia: http://en.wikipedia.org/wiki
Just pick either. Unless you have another heuristic to work with, you can't tell which would be better to pick.
Think about sorting some elements into an array:
9 6 3 3 8
sorted with lowest first is
3 3 6 8 9
If you were to query that array to determine the lowest, the answer is 3
. Which 3
doesn't matter.
Similarly if you were to have some more information. Say for example that those ints were actually floats and were sorted by their integer parts. You might end up with the array:
3.2 3.1 6.0 8.5 9.2
Here you have another heuristic to work with, you can check the decimal part too, and you can determine that 3.1
is the lowest.