Algorithms are commonly formalized as Turing machines, which are the basis for defining notions such as running time and space complexity; the exact formalism, however, is of no concern in this lecture. For our purposes, an algorithm A takes some input x ∈ {0, 1}∗, performs some computation, and outputs a value A(x). Running time and space complexity of an algorithm are measured as a function o...