多项式时间算法
来源:互联网 发布:2016宏观经济数据分析 编辑:程序博客网 时间:2024/05/17 04:34
转自:http://blog.csdn.net/yanghangjun/article/details/7298798
定义:若存在一个常数C,使得对于所有n>=0,都有|f(n)| <= C*|g(n)|,则称函数f(n)是O(g(n))。时间复杂度是O(p(n))的算法称为多项式时间算法,这里p(n)是关于n的多项式。不能够这样限制时间复杂度的算法被称为指数时间算法。
例如:时间复杂度为O(nlog(n))、O(n^3)的算法都是多项式时间算法,时间复杂度为O(n^log(n))、O(n!)、O(2^n)的算法是指时间算法。
一个优化问题如果已经找到了多项式时间算法,则称该问题为多项式时间可解问题,并将这类问题的集合记为P,因此多项式时间可解问题就称为P类问题。
一个问题如果没有找到多项式时间算法,那么直觉上它是“难解”的,但又往往无法证明多项式时间算法的不存在性。由于在寻找有效算法上的失败未必一定意味着这样的算法不存在,这就给理论工作者带来了一个难题:一方面证明一个问题不存在多项式时间算法是困难的,至今尚未给出;另一方面有越来越多的问题无法给出多项式时间算法。同时,理论工作者又渴望解决此难题。为此,在20世纪70年代提供了一个漂亮的理论,它把这种失败归结为一个深刻的数据猜想,这个理论就是NP-完全性理论。
定义:给定一个判定问题,如果存在一个算法,对任何一个答案为“是”的实例I。该算法首先给出一个猜想,该猜想规模不超过I的输入长度的某个多项式函数,且验证猜想的正确性仅需多项式时间,则称该问题属于NP类。
定义:如果NP类中所有问题都可以多项式时间归约到NP类中某个问题x,则称x是NP-完全问题。
定义:如果某优化问题x的判定问题是NP-完全的,则称问题x是NP-难的;如果x的判定问题是强NP-完全的,则称x是强NP-难的。
- 多项式时间算法
- 多项式时间算法
- 多项式时间算法
- 指数型算法时间复杂度优于多项式算法时间复杂度的数学证明
- 确定性多项式时间
- 【伪多项式时间】
- 多项式的时间复杂度
- 什么是多项式算法、非多项式算法
- 秦九韶算法求解多项式
- 秦九韶算法解多项式
- 多项式逼近remes算法
- 【算法导论】多项式求和
- 算法练习--多项式加法
- 多项式求和算法
- 多项式horner算法学习
- 一元多项式乘法算法
- 算法提高 多项式输出
- 算法提高 棋盘多项式
- C++之多态与继承学习笔记
- OpenDaylight开发学习笔记 基础篇 Controller篇 @北邮-Kobe
- House Robber
- System V 共享内存区(chapter 14)
- 制式刻板的教育, 成了敏捷开发最大的绊脚石
- 多项式时间算法
- SQL语句中的NOT IN 的优化
- Java 和 Hadoop 序列化机制浅讲
- 设计单例(简单)
- 华为OJ之初级篇Ⅰ
- 后缀数组学习笔记
- html基础学习总结
- 解题报告 之 UVA820 Internet Bandwidth
- 操作系统复习---框架图