伪多项式时间算法Pseudo-polynomial Algorithms-----geeksforGeek 翻译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伪多项式时间算法Pseudo-polynomial Algorithms-----geeksforGeek 翻译相关的知识,希望对你有一定的参考价值。

什么是伪多项式?

当一个算法的最坏时间复杂度是依据输入的数量级的时候,我们就称算法的时间复杂偶是伪多项式时间(给一个wiki上的解释可能更好理解 若一个数值算法的时间复杂度可以表示为输入数值规模N的多项式,但其运行时间与输入数值规模N的二进制位数呈指数增长关系,则称其时间复杂度为伪多项式时间。这是由于,N的值是N的位数的幂,故该算法的时间复杂度实际上应视为输入数值N的位数的幂from wiki )

例如:统计一个数组中所有正数的出现频率。算法是先找到最大的数max,然后从1到max遍历没一个数,找到这个数在数组中的出现频率。这个算法需要的时间是取决于这个数组中最大的数的大小,所以说这个算法是伪多项式时间。换句话说,一个算法的时间复杂度只是根据输入元素的多少的话,我们认为这个算法是多项式时间算法。

 

伪多项式和NP完全问题

有一些NP问题是有伪多项式时间的解法的,例如:0-1背包问题的动态规划解法,子集和的问题(找出数组里子集的和等于某个值的问题), 切分问题。这都是伪多项式时间。如果一个NP完全问题有伪多项式时间的解法,那么我们称这种问题叫弱NP完全问题。

 

 

原文链接:

http://www.geeksforgeeks.org/pseudo-polynomial-in-algorithms/

翻译:

Rui

以上是关于伪多项式时间算法Pseudo-polynomial Algorithms-----geeksforGeek 翻译的主要内容,如果未能解决你的问题,请参考以下文章

伪多项式算法

什么是伪多项式时间?它与多项式时间有何不同?

P1-2017级第一次算法上机 D 芸茹的课堂测试

多项式求值--霍纳Horner规则

A1-2017级算法上机第一次练习赛 D 水水的Horner Rule

算法复杂性分界函数—多项式