Bk[i] gibt nun die Länge eines kürzesten gerichteten s-i-Pfades an, der aus höchstens k Kanten besteht. Jeder beliebige Kantenzug, der keinen Kreis enthält, besteht aus maximal n-1 Kanten. In einem Graphen ohne negative Kreise gilt daher:
Gibt es dagegen einen (von s aus erreichbaren) negativen Kreis, so gibt es einen Knoten , bei dem ein Kantenzug aus n Kanten mit der Länge Bn[i] diesen Kreis häufiger durchläuft als jeder Kantenzug aus maximal n-1 Kanten der Länge Bn-1[i]. Demnach gilt:Bn[i] < Bn-1[i]
Man kann also in den Algorithmus aus Bellman-Ford einen Test auf negative Kreise einbauen, indem man in der Rekursion auch berechnet und direkt vor der Ausgabe den folgenden Befehl einfügt:for i 1 to n do if Bn[i] < Bn-1[i] then stop.