在计算复杂性理论内，一个计算问题(computational problem)对一个复杂度类是完备或者完全的，用比较不正式的解释，是说这问题在此复杂度类里面是一个"最难的"或者"最代表性的"题目。如果一个问题的解法可以允许你快速解决这个复杂度类的其他问题的话，我们说这问题对此类别是难(hard)的题目。更正式的说法是，如果在一个给定的归约方式之下，所有复杂度类 "C"里面的问题都存在某种归约方式，可以归约到某个问题"p"，我们说这个问题"p" 是"C"的难问题。如果一个问题是此类别的，且本身是这个类别里