Useful Links
Computer Science
Algorithms and Data Structures
Computational Complexity Theory
1. Introduction to Computational Complexity Theory
2. Mathematical Foundations
3. Models of Computation
4. Complexity Measurement
5. Time Complexity Classes
6. Reducibility and NP-Completeness
7. Space Complexity Theory
8. Hierarchy Theorems
9. Polynomial Hierarchy
10. Randomized Complexity
11. Interactive Proof Systems
12. Circuit Complexity
13. Quantum Complexity
14. Advanced Topics
Models of Computation
Turing Machines
Formal Definition
Components and Structure
Tape, Head, and States
Transition Function
Configuration and Computation
Deterministic Turing Machines
Definition and Properties
Acceptance and Rejection
Example Computations
Nondeterministic Turing Machines
Definition and Properties
Acceptance Criteria
Computation Trees
Multi-tape Turing Machines
Definition and Advantages
Simulation by Single-tape Machines
Universal Turing Machine
Definition and Significance
Machine and Input Encoding
Alternative Computational Models
Random Access Machines
Register Machines
Lambda Calculus
Cellular Automata
Church-Turing Thesis
Statement and Significance
Model Equivalence
Physical Church-Turing Thesis
Decidability Theory
Decidable Languages
Definition and Examples
Recognizable Languages
Definition and Examples
Undecidable Problems
Halting Problem
Rice's Theorem
Reduction Techniques
Previous
2. Mathematical Foundations
Go to top
Next
4. Complexity Measurement