子集求解器算法的复杂性

时间:2014-11-22 10:10:33

标签: time-complexity

我做了一个子集求和问题,但我仍然对其复杂性感到困惑 请在此处找到算法:

http://www.vinaysofs.com/P=NP%20proved%20with%20Subset%20Sum%20Problem%20solution%20manuscript.pdf

基本上,本质是:

i = 0;
func1(i)
{
    if(func1(i + 1))
        return true;
    else
        func1(i + 2, with few modifications in other arguments);
}

这里,i是整数集中元素的索引,如{1,1,1,1,1,1}。

当所有元素都是1并且我们需要的总和比所有元素的总和多1倍时,上述算法的最坏情况就出现了。

我想知道这个算法的复杂性,因为有人告诉我它是非多项式的(指数时间 - 2^n。如果它是多项式那么它将是一个很大的成就。

在我看来,它不是多项式T(n)=2T(n-1)+6,但在最坏的情况下,每次第一次递归调用都失败时。

请帮助..

由于 维奈

0 个答案:

没有答案