复杂性分类(时间复杂度)
时间复杂度
1.复杂类P
可在多项式时间内解决问题。即求解所需时间:O(poly(|input|))
2.复杂类NP(非确定性多项式问题)
可在多项式时间内验证解。即验证所需时间:O(poly(|input|))
例:大合数的质因数分解
没有确定的算法来直接求出一个合数的两个质因数,但可在多项式时间内验证两个数是否为合数的质因数。
3.复杂类NPC(NP-Complete)
任何别的NP问题都可以多项式地约化到此问题。
NPC满足条件:
- 它为一个NP问题
- 所有别的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)
复杂性分类(时间复杂度)相关推荐
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
好吧 ~~csdn太难用了....尼玛...写了半天的也无法弄进去...lz正在找更好地博客,or放在github上打算.. 下边是lz自己的有道云分享,大概内容是 http://note.youda ...
- 文本分类(text classification)
分类 原因:为了获得固定查询所属问题的通性和空间范围. 定义:分类是指将给定对象归入一个或者多个给定类别的过程. 分类的应用: 文档编码的识别分词.真实大小写处理及文档语言类型的判定 垃圾网页的自动判 ...
- 深度学习入门(上)01(用cifar数据实现三层网络实现图片分类)
目录 1-1深度学习入门-imagenet图像分类比赛 1-2计算机视觉面临的挑战和常规套路 1-3 K近邻进行图像分类 KNN的实现步骤 KNN总结 KNN的问题: 数据库样例: 测试结果 最近邻实 ...
- c++ 不插入重复元素但也不排序_面试时写不出排序算法?看这篇就够了
小Hub领读: 本文主要详细讲述常见的八种排序算法的思想.实现以及复杂度.包括冒泡排序.快速排序.插入排序.希尔排序等等,文章讲解非常详细! 作者:静默虚空 https://juejin.im/pos ...
- 格雷通路 算法 java,Java算法与数据结构教程
北上广容不下肉身, 三四线放不下灵魂, 程序员里没有穷人, 有一种土豪叫 算法工程师. 程序 = 数据结构 + 算法 程序是为了解决实际问题而存在的.然而为了解决问题,必定会使用到某些数据结构以及设计 ...
- 尹成学院区块链 Go 学习大纲-取得大纲试看视频联系微信yinchengak48
网址:http://www.1cxy.net GO技术交流QQ群:254416566 所处阶段 主讲内容 技术要点 学习目标 第一阶段Go语言开发入门实战 1.Go语言介绍及开发环境搭建 1.Go语言 ...
- 关于GPT,人工智能,以及人的一些思考
注:这是一篇关于人工智能与人的万字长文.一次性读完可能会有困难.建议分次阅读. 为了写这篇文章,我用掉半年的读书钱自己训练了乞丐版的GPT模型. 在这篇文章中我从如下几个方面围绕人工智能进行了讨论,包 ...
- 1995年图灵奖--曼纽尔·布卢姆简介
大家好,我是执念斩长河.今天讲述的是1995年图灵奖获得者曼纽尔·布卢姆.图灵奖奖励他为计算机复杂性理论做出贡献.读完本篇博文大家可以收获的是: 什么是计算机复杂性理论 计算机复杂性分类 卢卡做出什么 ...
- 大学计算机科学的14个知识领域
到一个地方去旅游,最好研究一下当地的地图.准备学习编程的时候,最好了解计算机科学的概貌--拥有一份大图(big map).英国著名哲学家怀特海曾说过:『在中学阶段,学生伏案学习:在大学阶段,他需要站起 ...
最新文章
- Ardino基础教程 24_RGB全彩LED
- 直播报名 | 官方解读NVIDIA黑科技:StyleGAN的架构与实现
- 开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
- Subset POJ - 3977(折半枚举+二分+二进制枚举)
- 三字经带拼音a4打印版_人教版八年级下册英语6单元重点单词带音标打印版
- 历史上的昨天和今天(zz)
- python中while与else的联姻
- mysql 查询最顶级_2018顶级MySQL博客作者
- css3圆形修边按钮
- Android MaterialButtonToggleGroup
- java拆装箱(转)
- configure: error: no acceptable cc found in $PATH
- 手机与电脑视频呼java_Android手机播放电脑视频文件-屌丝必备
- HCNA 实验指南(Ensp V350)
- arm linux 内核崩溃,用sysrq-trigger实现ARM Linux一键内核崩溃、一键关机、一键dump信息等...
- 【luogu P5320】勘破神机(数学)(数列特征方程)(第一类斯特林数)
- 联想计算机怎么添加打印机,电脑和联想打印机连接不上怎么办啊
- 怎么写经济学论文的导言和文献综述
- ROS下利用realsense采集RGBD图像合成点云
- 被深信服上网行为管理器AC拒绝的操作如何正常访问