in bellman ford algorithm when i relax an edge(u,v) but the distance in u and v is infinite dist[u] = dist[v] = oo and the weight of edge is big negative so what will happen is: dist[u]+w < dist[v] so dist[v] will modified i want to asked if there is necessity to write a condition before the relaxing to avoid that or not and why if not ? because i try some graphs with an arbitary order to edges it gives wrong answer without the condition. thank you all.
At least use commas...
You will need to check for negative cycles, rather than edges with negative weights.
To do that, iterate through the E edges again (After Bellman-Ford) and see if any vertex is still "relaxable". If so, there exists at least 1 negative cycle on the graph which means there are no shortest paths for certain vertices.