霍纳法和运行时间

时间:2019-07-24 22:34:39

标签: java

在我为学校点评时,我似乎一点都不明白。那么2x ^ 3-6x ^ 2 + 2x -1的运行时间为O(n ^ 3)但((2x-6)x + 2)x-1的运行时间如何为O(n)呢?也有人可以向我解释此代码吗?我不确定res和c代表什么,休息和系数?我知道该函数会评估多项式,但无法逐行理解。

public BigInteger eval(BigInteger x)
    {
        BigInteger res=null;
        BigInteger c=null;
        for(Term t:polynomial)
        {
            if(res==null)
            {
                res=(x).pow(t.getExponent()).multiply(t.getCoefficient());
                c=BigInteger.valueOf(t.getExponent());
                c=c.subtract(BigInteger.valueOf(1));
            }
            else
                res=res.add((x).pow(t.getExponent()).multiply(t.getCoefficient()));
        }
        return res==null?new BigInteger("0"):res;
    }

0 个答案:

没有答案