可以简单用下图来表示
p类问题指的是可以在多项式时间求解的问题,例如n个数的排序问题,复杂度最多为O^2
np类问题指的是可以在多项式时间验证答案的问题,例如求n个点的图是否有哈密顿路,最坏情况需要(n-1)!,但是验证是否为哈密顿路是多项式时间
nph类问题是任意np类问题在多项式时间内可以约化成的这类问题。这类问题在多项式时间内也无法验证是否正确,例如旅行商问题,无法在多项式时间内验证是否是最短路径。
npc类问题是np类问题约化成的问题,也是nph问题和np问题的交集,例如哈密顿路问题。