绪论
在了解P、NP、NP-Complete、NP-Hard问题之前,先感性地感受一下这几个问题之间的区别和联系👇:
上图分为左右两个版本,推荐记住左边的比较通用。这是因为NP=P这个数学问题曾经被列为7大数学难题之一,而且是之首,甚至美国还悬赏100W美金,但是比较认可的结果是暂时认为NP问题不等价于P问题,所以,我们看左边的图就好~
二、P问题、NP问题、NP-Complete问题、NP-Hard问题
1. P问题
如果一个问题属于O(f(n)),f(n)是一个多项式或受多项式约束,则这个问题就是一个多项式问题(polynomial problem,也称为P问题)
2. NP问题
一个能够在多项式时间内用非确定算法解决的问题,称为非确定性多项式问题(non-deterministic polynomial problem,简称NP问题)。换句话说,that is:不知道这个问题是不是存在多项式时间内的算法,所以叫non-deterministic非确定性,但是我们可以在多项式时间内验证并得出这个问题的一个正确解。
著名的NP类问题:旅行家推销问题(TSP)。即有一个推销员,要到n个城市推销商品,他要找出一个包含所有n个城市的环路,这个环路路径小于a。
我们知道这个问题如果单纯的用枚举法&