Theoretical Computer Science

Theoretical computer science is a subfield of computer science and mathematics that focuses on the abstract and mathematical foundations of computation.

Parts of theoretical computer science:

  • Data structures
  • Algorithms
  • Complexity theory
  • Optimization

Data Structures

Data structures

You can read this post about data structures.

Algorithms

Algorithm focuses on creating efficient procedures to solve computational problems. Analyzes the complexity of algorithms, including their time and space requirements.

Sorting algorithms

Cryptographic algorithms

Password hashing algorithms

Complexity Theory

Complexity theory studies the inherent difficulty of computational problems and classifies them into complexity classes (e.g., P, NP, NP-complete).

Optimization

Optimization involves designing algorithms to find the best solution among many feasible ones.

Search methods

Search methods:

  • Uninformed / Blind
  • Informed
    • Heuristic
  • Local
  • Adversarial
  • Constraint satisfaction

Heuristic search is a subset of informed search that explicitly uses heuristics to estimate the cost to reach the goal.

An uninformed search or blind search is an algorithm that has no extra information beyond the problem definition.

Local search is used in optimization problems. Examples are Hill Climbing, Simulated Annealing and Genetic Algorithms.

Adversarial search is used in games. Examples are Minimax and Alpha-Beta Pruning.

Constraint satisfaction search is used in scheduling and logic puzzles. Examples are backtracking and constraint propagation.

You might also be interested in…

Leave a Reply

Your email address will not be published. Required fields are marked *