: Problems solvable with a polynomial amount of memory.

: Understand Finite State Machines and Context-Free Grammars.

: Defining complexity classes based on language restrictions rather than machine bounds.

: Learn to "program" on a tape mentally. Prove Undecidability : Practice using Mapping Reductions ( Analyze Growth : Get comfortable with

: The process of transforming one problem into another to prove difficulty.

: Proofs that having more time or space allows you to solve strictly more problems. 📚 Study Strategy To master this material, follow this logical flow:

: Problems where a solution can be verified in polynomial time. EXP : Problems requiring exponential time. Space Complexity Classes : L / NL : Logarithmic space (very restrictive).

: The machine halts on "Yes" but may loop on "No."