250 ◾ Computing
A problem X is said to be complete for complexity class C, or C-complete,
if it is the hardest problem within C; i.e., every other problem in C can be
shown (via a complexity-preserving transformation) to be no more dif-
cult than X. Observe that more than one problem may be complete for a
given complexity class. A problem Y is said to be hard for a class if every
problem within the class is no more dicult than Y. Note that Y does not
have to be a member of the given class.
Over the years, the notion of ecient computation or an ecient
algorithm has been associated with two distinct denitions. e rst one
describes an algorithm as ecient if it can be shown that during its com-
putation no unnecessary work is being ...