链表在多项式的应用(2)

摘要:计算多项式的P次方(P是正整数)
(1)方法一,采用递归的思想,计算L^2的P/2次方,然后递归计算,这样所需要的计算次数比起直接计算将会大大减小。
(2)方法二:直接计算L的P次方,调用Multiply函数反复相乘。

//计算F(X)的P次方
List Power(List L, int P)
{

if (P == 1)
return L;
else if (P % 2 == 0)
return(Power(MultiPly(L,L),P/2));
else 
return MultiPly(L,Power(MultiPly(L,L),P/2));
}
//直接计算
List Power2(List L, int P)
{
if (P == 1)
return L; 
List temp = L;
while(--P)
temp = MultiPly(L,temp);
return temp;
}

你可能感兴趣的:(链表在多项式的应用(2))