Final answer:
Dijkstra's algorithm does not work with negative weights in graphs because it assumes non-negativity of weights. So, the correct answer is option a.
Step-by-step explanation:
Dijkstra's algorithm does not work with negative weights in graphs because it assumes non-negativity of weights. The algorithm works by continually selecting the vertex with the lowest distance and updating the distances of its adjacent vertices. When negative weights are present, this assumption is violated as there may exist a shorter path through a vertex with a negative weight, causing the algorithm to prioritize incorrect paths.
So, the correct answer is option a.