The Algorithm Design Manual

pp 523-561

Graph Problems: Hard Problems

  • Steven S. SkienaAffiliated withDepartment of Computer Science, State University of New York at Stony Brook Email author 

* Final gross prices may vary according to local VAT.

Get Access


A cynical view of graph algorithms is that “everything we want to do is hard.”Indeed, no polynomial-time algorithms are known for any of the problems in this section.All of them are provably NP-complete with the exception of graph isomorphism—whose complexity status remains an open question.

The theory of NP-completeness demonstrates that all NP-complete problems must have polynomial-time algorithms if any one of them does. This prospect is sufficiently preposterous that an NP-completeness reduction suffices as de facto proof that no efficient algorithm exists to solve the given problem.

Still, do not abandon hope if your problem resides in this chapter. We provide a recommended line of attack for each problem, be it combinatorial search, heuristics, approximation algorithms, or algorithms for restricted instances. Hard problems require a different methodology to work with than polynomial-time problems, but with care they can usually be dealt with successfully.