问题的复杂性小结

0、与算法复杂性的区别

  • 算法的复杂性是指解决问题的一个具体的算法的执行时间,这是算法的性质。
  • 问题的复杂性是指这个问题本身的复杂程度,是问题的性质。

    比如排序问题的复杂性是O(nlgn),但是排序算法有很多,冒泡法是O(n^2),快速排序平均情况下是O(nlgn)等等,排序问题的复杂性是指在所有的解决该问题的算法中最好算法的复杂性。

  • 问题的复杂性不可能通过枚举各种可能算法来得到,一般都是预先估计一个值,然后从理论上证明。

1、P问题

  • 能在多项式时间内解决的问题。(即能找到计算复杂度可以表示为多项式的确定算法)

2、NP问题

  • 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间验证的问题。
  • NP问题包括了P问题。

3、NP-Complete问题

  • NP完全问题。这类问题中任何一个问题至今未找到多项式时间算法。

4、NP-Hard问题

  • 如果所有NP问题都可以多项式归约到问题A,那么问题A就是NP-Hard。
  • 如果问题A既是NP-Hard又是NP,那么它就是NP-Complete。
  • NP-Hard不一定是NP问题。
  • NPC问题一定是NPH问题。

5、Non-NP问题

关系图

五类问题的关系图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值