【杂项】多项式秦九韶算法

文章介绍了中国南宋数学家秦九韶提出的简化多项式计算的秦九韶算法,相比于传统方法,它通过逐次提取公因式x,将时间复杂度从O(n^2)降低到O(n),在处理大规模多项式时更高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


秦九韶算法,是中国南宋时期的数学家秦九韶提出的一种多项式简化算法,在西方被称作霍纳算法,
主要用于简化对于一般n次多项式的计算步骤。

我们知道,对于常规的求多项式 f ( x ) f(x) f(x)计算结果的思路是逐项系数与带次数的 x x x项相乘最后相加求和。

考虑题目:求多项式 f ( x ) = a 0 x 0 + a 1 x 1 + . . . + a n x n f(x)=a_0x^0+a_1x^1+...+a_nx^{n} f(x)=a0x0+a1x1+...+anxn的值,其中 a [ ] a[ ] a[]数组按 0 0 0 n n n顺序存储系数, n n n为多项式阶数

使用代码实现的思路如下:

// n为多项式阶数,a为系数
double f2(int n, double a[], double x){
    double res = 0.0;
    for(int i = 0;i < n+1;i++) {
    	// 逐项相乘后累加到结果res上
        res += a[i] * pow(x, i);
    }
    return res;
}

这种方式实现的时间复杂度为 O ( n 2 ) O(n^2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值