zoukankan      html  css  js  c++  java
  • 关于P类问题,NP问题,NPC问题的一些粗浅理解

    最近在做初赛题,发现总是考一些P和NP问题,完全不知道是什么

    得不得分都随缘了,所以还是简单的了解了一下,有的说的可能不是很标准,单做初赛也肯定是够了


    我们要学习这三种问题,首先要对时间复杂度有一定的了解

    一共分为两个大类

    第一种,多项式级

    大体上是由n作为底数,例如O(n),O(logn),O(n^2),O(n^a),当然还有O(1)

    第二种,非多项式级

    由n作为指数,例如O(2^n),当还还有更高的O(n!)


    First,P类问题

    这是最好理解的,简要来说就是OI比赛考的算法,时间复杂度为多项式级

    例如最短路算法


    Second,NP问题,不太好理解,我就笼统的说了

    所有的可以解的问题都是NP问题,时间复杂度可以是多项式级,也可以是指数级

    再多说一句,如何证明NP=P

    什么意思呢,就是证明所有的可以解的问题多可以用都项式级时间复杂度来做(算法)

    这个并不难,大家可以自己好好思考一下,我就不在这里说了


    Last,NPC问题,首先我们要知道一个叫做约化的东西

    简而言之,就是可以用一个解法B,来替代解法A,(解法A对应问题A,解法B对应问题B,同时包含问题A)

    就说成A问题约化为B问题(保证B问题的时间复杂度大于等于A问题的时间复杂度)

    NPC问题就是找到一个问题,让所有的NP问题都可以约化成它,让这个问题的解可以做出所有的NP问题


    这就是可以大概完成初赛的介绍了,希望对大家有帮助

    再给一个讲的很详细的博客,如果你希望了解更深刻:http://www.matrix67.com/blog/archives/105

    蒟蒻总是更懂你✿✿ヽ(°▽°)ノ✿
  • 相关阅读:
    1.7 this关键字
    1.6 作用域练习题
    1.5 关于内存释放和作用域销毁的研究
    php 类与对象
    Yii2 数据操作Query Builder查询数据
    Mac 下配置Nginx安装环境配置详细说明
    PHP 面向对象
    php中static静态关键字的使用方法和应用场景
    http协议(五)web服务器
    http协议(四)http常用状态码
  • 原文地址:https://www.cnblogs.com/WWHHTT/p/9762864.html
Copyright © 2011-2022 走看看