NP-completeness

NP-completeness

NP-complete problems are a class of computational complexity theory that refer to problems whose solutions can be verified quickly, but cannot be found quickly. They are the hardest problems in NP and if one is solved quickly, all problems in NP can be solved quickly. These problems are often addressed using heuristic methods and approximation algorithms.

3 courses cover this concept

15-453 - Formal Languages, Automata, and Computability

Carnegie Mellon University

Spring 2015

A foundational course that introduces formal languages, automata, computability, and complexity theories, including finite automata, Turing machines, and P/NP classes.

No concepts data

+ 35 more concepts

CS 170: Efficient Algorithms and Intractable Problems

UC Berkeley

Spring 2020

This is an introductory course to computer science theory, exploring the design and analysis of various algorithms, number theory, and complexity. The prerequisites include familiarity with mathematical induction, big-O notation, basic data structures, and programming in a standard language.

No concepts data

+ 36 more concepts

15-251 Great Ideas in Theoretical Computer Science

Carnegie Mellon University

Fall 2018

The course provides a rigorous introduction to the foundations of computer science, improving abstract thinking skills and preparing students to be innovators in the field. Topics include computation, computational complexity, and real-world applications of computational concepts. Prerequisites imply this is an intermediate-level course.

No concepts data

+ 25 more concepts