看了B站博主的视频的学习笔记
https://www.bilibili.com/video/av16446193?from=search&seid=16421992810453392728
能在多项式时间内解决的问题都是P问题。
O(1)O(n)……O(n^i)都是多项式时间,无论指数多大。
比如最大值问题,通过遍历即可找到,就是P类问题
NP——Nodeterministic Polynomial
如果能在多项式时间内确定一个解是不是一个问题的解,那么叫NP类问题。
比如最大值问题,给了一个数字,判断该数字是不是一个数组的最大值,可以在多项式时间内确定,那么也就是是一个NP问题。
综上所述,求最大值,既是P问题,也是NP问题
另例:求数组的中位数
1.排序 O(nlogn)2.找到中间的位置(O(1))
总体看为O(nlogn),故为P类问题。
找一个数字,判断该数字是不是中位数
对于比该数字小和大的数分别进行计数即可,复杂度为O(n),故为NP类问题
NP-Complete问题
一个问题X,属于NP问题,且暂时不是P问题,则为NP-complete问题。如3-SAT问题