- 前言
- 多项式乘法
今天开始正式学习数据结构, 争取一个月数据结构有点小的进步, 语言基于python
多项式乘法- 我竟然不知道多项式乘法的程序怎么写才好
假如有个100阶多项式, f ( x ) = x + x 2 + x 3 + ⋅ ⋅ ⋅ x 100 f(x)text=x+x^2+x^3+···x^{100} f(x)=x+x2+x3+⋅⋅⋅x100
现有这样两个程序:
def f1(n, x, ):
p = 1
for i in range(n, 0, -1):
p = 1 + x*p
print(p)
return p
def f2(n, x):
p = 1
for i in range(1, n+1):
p = p + pow(x, i)
print(p)
return p
f2的思想是 f ( x ) = 1 + x ( 1 + x ( 1 + x ) ⋅ ⋅ ⋅ f(x)=1+x(1+x(1+x)··· f(x)=1+x(1+x(1+x)⋅⋅⋅
换一个:
import time
def f(n, x, ):
# a = [1 / i for i in range(1, n+1)]
# p = a[n-1]
p = 1/n
# for i in range(n-1, -1, -1):
# p = a[i-1] + x*p
for i in range(n, 0, -1):
p = 1/(i-1) + x*p
if __name__ == "__main__":
start = time.time()
for i in range(100):
f(100, 1.1)
end = time.time()
print('time: ', end-start)



