P NP NP-Complete NP-Hard问题的定义和区别

基础知识

  1. 多项式时间复杂度可解:如果一个问题可以在 O ( n k ) O(n^k) O(nk)时间复杂度内得到解决,称该问题在多项式时间复杂度内可解,其中,n是实例的长度,k是固定常数。
  2. 规约:对于两个问题 L 1 和 L 2 L_1和L_2 L1L2,若存在多项式时间复杂度的函数 f f f,将L1中的实例对应到L2中,则称 L 2 L_2 L2可规约到 L 1 L_1 L1,记作 L 1 ⊆ P L 2 L_1⊆_PL_2 L1PL2.

P(polynomial)问题

对一个问题,若存在算法,可在多项式时间复杂度内求解该问题,称该问题为P问题。

NP(non-deterministic polynomial)问题

对于一个问题,若存在算法,能在多项式时间复杂度内验证一个解是否成立,则该问题称为NP问题。

NP-Complete问题

若一个 L L L问题满足一下两个条件:

  1. 该问题是NP问题;
  2. 对于任意的NP问题 L ’ L^’ L,都有 L ’ ⊆ P L L^’⊆_PL LPL,即所有NP问题复杂度都小于L问题。
    则称该问题为NP完全问题。

NP-hard问题

若一个问题L只满足NP完全问题条件中的第2条,称该问题为NP-hard问题。

各问题难易程度

P ⊆ ⊆ NP ⊆ ⊆ NP-C ⊆ ⊆ NP-H

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值