NP问题、NP难问题(NPH)和NP完全问题(NPC)理解

看算法的时候经常会碰到NP问题、NP难问题(NPH)和NP完全问题(NPC)等术语,每次碰到的时候都似懂非懂,这次专门在网上搜了一些资料看,做一下记录,权当加深印象。
NP是指Non-deterministic Polynomial-time,即非确定性多项式时间。与NP相关的总共有四类问题,是计算复杂度理论中研究的主要内容之一。

  1. P问题:Polynomial-time问题,即指在多项式时间内可用算法求解的问题
  2. NP问题:Non-deterministic Polynomial-time问题,指不确定是否存在多项式时间的求解算法,但可以在多项式时间内验证一个猜测解的正确性。(针对NP问题有一个千年难题,即NP=P?,也即是否所有能在多项式时间内验证得出正确解的问题,都是具有多项式时间算法的问题,至今尚未有定论)
  3. NP难问题:NP-hard(NPH)问题,如果所有NP问题可在多项式时间内转化(归约,意思是解决了后者也就相应的解决了前者)成某个问题,则该问题称为NP难问题。
  4. NP完全问题:NP-complete(NPC)问题,如果所有NP问题可在多项式时间内归约成某个NP问题,则该NP问题称为NP完全问题。也就是说NP完全问题既是NP难问题又是NP问题。

    下面贴一张图把四者的关系捋一捋
    这里写图片描述

参考资料:
1.[总结]算法中的P问题、NP问题、NP完全问题和NP难问题
2.Wiki百科-NP困难问题

  • 19
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值