Алгоритм даст правильный ответ, но поскольку узлы теперь можно посещать несколько раз, временная сложность будет экспоненциальной.
Вот пример, демонстрирующий экспоненциальную сложность:
w(1, 3) = 4
w(1, 2) = 100
w(2, 3) = -100
w(3, 5) = 2
w(3, 4) = 50
w(4, 5) = -50
w(5, 7) = 1
w(5, 6) = 25
w(6, 7) = -25
Если алгоритм пытается найти кратчайший путь от узла 1 к узлу 7, он сначала достигнет узла 3 через ребро с весом 4, а затем исследует оставшуюся часть графика. Затем он найдет более короткий путь к узлу 3, сначала перейдя к узлу 2. Затем он снова исследует оставшуюся часть графика.
Каждый раз, когда алгоритм достигает одного из нечетных индексированных узлов, он будет сначала go к следующему нечетному индексируемому узлу через прямое ребро и исследуйте остальную часть графика. Затем он найдет более короткий путь к следующему нечетному индексированному узлу через четный индексированный узел и снова исследует оставшуюся часть графика. Это означает, что каждый раз, когда достигается один из нечетных индексированных узлов, остальная часть графика будет исследована дважды, что приведет к сложности не менее O(2^(|V|/2))
.