This is the book for every serious researcher in theoretical computer science. The book exposes critical detail in problem solving and researching in the fields of algorithms and complexity that no other book has ever done. It reveals the secrets of doing research and the way of thinking that are so natural to the world's top computer scientists. Such skills and thinking are so "second nature" to every top computer scientist that they are not even mentioned or talked about. This book is thus for everyone who seriously wants to become an excellent researcher but may not have such skills and thinking.