Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. In computational complexity theory of computer science, the structural complexity theory or simply structural complexity is the study of complexity classes, rather than computational complexity of individual problems and algorithms. It involves the research of both internal structures of various complexity classes and the relations between different complexity classes. The theory has emerged as a result of (still failing) attempts to resolve the first and still the most important question of this kind, the P = NP problem. Most of the research is done basing on the assumption of P != NP and on a more far-reaching conjecture that the polynomial time hierarchy of complexity classes is infinite.