Algorithms and Theory of Computation Handbook, Second Edition, Volume 1: General Concepts and Techniques