In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/ ( listen)) is an unambiguous specification of how to solve a class of problems. Algorithms can perform calculation, data processing, and automated reasoning tasks.
P versus NP
- P
- The general class of questions for which some algorithm can provide an answer in polynomial time is called "class P" or just "P".
- P usually means Deterministic Problem which can say True of False in a polynomial time.
- P is also known as consists of certain set of Decision Problems like Checklist.
- NP
- The class of questions for which an answer can be verified in polynomial time is called NP, which stands for "Non-deterministic Polynomial time".
Software Algorithms
Many computer science problems are contained in NP, like decision versions of many search and optimization problems.