时间复杂度

1.复杂类P

可在多项式时间内解决问题。即求解所需时间:O(poly(|input|))

2.复杂类NP(非确定性多项式问题)

可在多项式时间内验证解。即验证所需时间:O(poly(|input|))

例:大合数的质因数分解

没有确定的算法来直接求出一个合数的两个质因数,但可在多项式时间内验证两个数是否为合数的质因数。

3.复杂类NPC(NP-Complete)

任何别的NP问题都可以多项式地约化到此问题。

NPC满足条件

  1. 它为一个NP问题
  2. 所有别的NP问题都可以多项式地约化到它。

约化:若存在一个变换准则,使得对于人一个程序A的输入,按照这个变换准则变为程序B的输入,且使得两程序输出相同,则称A问题可以约化到B问题。

简单理解:就是A问题可以转化为B问题或者可用问题B可以解决问题A。

例子:逻辑电路问题为一个NPC类问题。

4.复杂类NPI

NP类问题中既不是P类也不是NPC类的问题

5.复杂类NP-Hard

所有NP问题都可在多项式时间内约化到此问题,此问题不一定为NP问题

五类问题关系(P、NP、NPC、NP-Hard、NPI)

复杂性分类(时间复杂度)相关推荐

  1. java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序

    好吧 ~~csdn太难用了....尼玛...写了半天的也无法弄进去...lz正在找更好地博客,or放在github上打算.. 下边是lz自己的有道云分享,大概内容是 http://note.youda ...

  2. 文本分类(text classification)

    分类 原因:为了获得固定查询所属问题的通性和空间范围. 定义:分类是指将给定对象归入一个或者多个给定类别的过程. 分类的应用: 文档编码的识别分词.真实大小写处理及文档语言类型的判定 垃圾网页的自动判 ...

  3. 深度学习入门(上)01(用cifar数据实现三层网络实现图片分类)

    目录 1-1深度学习入门-imagenet图像分类比赛 1-2计算机视觉面临的挑战和常规套路 1-3 K近邻进行图像分类 KNN的实现步骤 KNN总结 KNN的问题: 数据库样例: 测试结果 最近邻实 ...

  4. c++ 不插入重复元素但也不排序_面试时写不出排序算法?看这篇就够了

    小Hub领读: 本文主要详细讲述常见的八种排序算法的思想.实现以及复杂度.包括冒泡排序.快速排序.插入排序.希尔排序等等,文章讲解非常详细! 作者:静默虚空 https://juejin.im/pos ...

  5. 格雷通路 算法 java,Java算法与数据结构教程

    北上广容不下肉身, 三四线放不下灵魂, 程序员里没有穷人, 有一种土豪叫 算法工程师. 程序 = 数据结构 + 算法 程序是为了解决实际问题而存在的.然而为了解决问题,必定会使用到某些数据结构以及设计 ...

  6. 尹成学院区块链 Go 学习大纲-取得大纲试看视频联系微信yinchengak48

    网址:http://www.1cxy.net GO技术交流QQ群:254416566 所处阶段 主讲内容 技术要点 学习目标 第一阶段Go语言开发入门实战 1.Go语言介绍及开发环境搭建 1.Go语言 ...

  7. 关于GPT,人工智能,以及人的一些思考

    注:这是一篇关于人工智能与人的万字长文.一次性读完可能会有困难.建议分次阅读. 为了写这篇文章,我用掉半年的读书钱自己训练了乞丐版的GPT模型. 在这篇文章中我从如下几个方面围绕人工智能进行了讨论,包 ...

  8. 1995年图灵奖--曼纽尔·布卢姆简介

    大家好,我是执念斩长河.今天讲述的是1995年图灵奖获得者曼纽尔·布卢姆.图灵奖奖励他为计算机复杂性理论做出贡献.读完本篇博文大家可以收获的是: 什么是计算机复杂性理论 计算机复杂性分类 卢卡做出什么 ...

  9. 大学计算机科学的14个知识领域

    到一个地方去旅游,最好研究一下当地的地图.准备学习编程的时候,最好了解计算机科学的概貌--拥有一份大图(big map).英国著名哲学家怀特海曾说过:『在中学阶段,学生伏案学习:在大学阶段,他需要站起 ...

最新文章

  1. Ardino基础教程 24_RGB全彩LED
  2. 直播报名 | 官方解读NVIDIA黑科技:StyleGAN的架构与实现
  3. 开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
  4. Subset POJ - 3977(折半枚举+二分+二进制枚举)
  5. 三字经带拼音a4打印版_人教版八年级下册英语6单元重点单词带音标打印版
  6. 历史上的昨天和今天(zz)
  7. python中while与else的联姻
  8. mysql 查询最顶级_2018顶级MySQL博客作者
  9. css3圆形修边按钮
  10. Android MaterialButtonToggleGroup
  11. java拆装箱(转)
  12. configure: error: no acceptable cc found in $PATH
  13. 手机与电脑视频呼java_Android手机播放电脑视频文件-屌丝必备
  14. HCNA 实验指南(Ensp V350)
  15. arm linux 内核崩溃,用sysrq-trigger实现ARM Linux一键内核崩溃、一键关机、一键dump信息等...
  16. 【luogu P5320】勘破神机(数学)(数列特征方程)(第一类斯特林数)
  17. 联想计算机怎么添加打印机,电脑和联想打印机连接不上怎么办啊
  18. 怎么写经济学论文的导言和文献综述
  19. ROS下利用realsense采集RGBD图像合成点云
  20. 被深信服上网行为管理器AC拒绝的操作如何正常访问

热门文章

  1. 服务器CPU型号后缀的区别,CPU的那些后缀是啥意思?一文教你读懂CPU的型号标识!...
  2. 大数据Hive多字节分隔符
  3. 搜题公众号怎么搭建制作(微信公众号查题搭建制作教程)
  4. 图片资源检索,图片文件压缩、裁剪、存储、收藏网站汇总,宝藏呀
  5. 目前国内几大著名报表软件(2014更新)
  6. 软件性能测试的验收标准,性能测试的几个要点
  7. 基于matlab的信号合成与分解,基于Matlab周期信号的分解与合成
  8. 计算机用加法乘法实现除法运算的数学原理
  9. (转)JBPM和JPDL
  10. 快递配送管理系统毕业设计