Пожалуйста, обратитесь к следующей странице для алгоритма Беллмана Форда (он показывает, например). http://compprog.wordpress.com/2007/11/29/one-source-shortest-path-the-bellman-ford-algorithm
Я все еще не понимаю. В первой итерации внешнего цикла, например, вы сначала изменяете ребро 1-> 2 и ребро 1-> 4, в чем проблема с ослаблением ребра 2-> 3, 2-> 5, 4- >3, 4->5, на том же шаге, так как у нас есть d[2] и d[4].