Final answer:
Dijkstra's algorithm requires all weights to be non-negative. With indistinct or negative weights, the algorithm may provide incorrect results, and Bellman-Ford algorithm would be a better option.
Step-by-step explanation:
The Dijkstra's algorithm is used for finding the shortest paths between nodes in a graph. However, it is crucial that all weights are non-negative. This restriction is due to how the algorithm picks the closest vertex that has not been visited yet, and it assumes that by going through another vertex, the path will not get any shorter if only non-negative weights are considered. If there were indistinct or negative weights, it could potentially lead to paths that become shorter as more edges are traversed, which Dijkstra's algorithm cannot handle properly. In cases where you have graphs with negative weights, you may want to use Bellman-Ford algorithm instead.