graph – Dijkstra for The Single-Source Longest Path

No, we cannot1 – or at the very least, no polynomial reduction/modification is known – longest path problem is NP-Hard, while dijkstra runs in polynomial time!

If we can find a modfication to dijsktra to answer longest-path problem in polynomial time, we can derive P=NP

If not, then provide a counterexample.

This is very bad task. The counter example can provide a specific modification is wrong, while there could be a different modification that is OK.

The truth is we do not know if longest-path problem is solveable in polynomial time or not, but the general assumption is – it is not.


regarding just changing the relaxation step:

        A
       / \
      1   2
     /     \
    B<--1---C
edges are (A,B),(A,C),(C,B)

dijkstra from A will first pick B, and then B is never reachable – because it is out of the set of distances.

At the very least, one will have also to change min heap into max heap, but it will have a different counter-example why it fails.


(1) probably, maybe if P=NP it is possible, but it is very unlikely.

Leave a Comment