浅谈秦九韶算法

这篇具有很好参考价值的文章主要介绍了浅谈秦九韶算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

浅谈秦九韶算法

好像FFT要用到,所以就学习一下
听说还是高中必修三的内容?

目录
  • 浅谈秦九韶算法
    • 秦九韶算法的应用:
    • code

秦九韶算法的应用:

当我们知道 \(x\) 的值时,求下列式子的值:

\[f(x) = a_0 + a_1x + a_2x^2 + a_3x^3 + \cdots + a_{n - 1}x^{n - 1} + a_nx^n \]

一开始看到这个式子,我们肯定会想到直接带 \(x\) 进去乘不就行了吗
那秦九韶还提出来干什么
我们发现单单一个 \(x^n\) 就需要 \(n - 1\) 次乘法,那么一共就需要 \(\sum_{i = 1} ^ {n - 1}i\) 次乘法,和 \(n\) 次加法,如下 \(n = 5\) 时:

\[f(x) = a_0 + a_1x + a_2x + a_3x + a_4x + a_5x \]

就需要 \(10\) 次乘法和 \(5\) 次加法。
显然这个十分复杂,所以才要用到奏九韶算法
秦九韶算法就是将上述式子一步步化简成如下式子:

\[f(x) = ( \cdots (a_nx + a_{n - 1})x + a_{n - 2})x + \cdots + a_1)x + a_0 \]

我们发现这个虽然还是要用到 \(n\) 次加法,但是乘法次数下降到了 \(n - 1\) 次,所以这个只需要 \(O(n)\)的时间就可以实现了。

code

代码十分短文章来源地址https://www.toymoban.com/news/detail-423797.html

void qinjiushao()
{
    for(int i=n-1;i>=1;i--)
        ans*=x,ans+=a[i];
}

到了这里,关于浅谈秦九韶算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [控制原理基础]浅谈PID算法

    一、PID使用背景 当今的自动控制技术都是基于反馈的概念。即一个In Loop闭环的理论,反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。 PID(Proportion Intergration Differentiation)算法是比例微分积分控制的

    2024年02月10日
    浏览(28)
  • 浅谈C++|STL之算法函数篇

    在 C++ 中, for_each 是一个算法函数,位于 algorithm 头文件中。它接受一个范围(容器或迭代器对)以及一个函数对象(函数指针、函数、lambda 表达式等),用于对范围内的每个元素执行指定的操作。(遍历容器,,执行指定函数) 以下是 for_each 的函数原型: 其中, first 和

    2024年02月07日
    浏览(29)
  • 通过zookeeper浅谈一致性算法

    CAP 定理指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。 通俗来说: 一致性(C):当系统数据发生更新操作后,各个主机中的数据仍然处于一致的状态。 可用性(A):对于用户的每一个请求,系统总

    2024年02月07日
    浏览(43)
  • 浅谈图论——迪杰斯特拉算法(leetcode例题,C++演示)

    如果你想问这个世界上什么算法是最牛逼的?博主是回答不上来的。但是,如果你问博主 什么数据结构是最牛逼 ?博主个人认为 图是最牛逼的数据结构 。因为很多的问题,都可以用图这种数据结构来表示。链表、树这种数据结构博主认为可以看成一种 特殊的图 。所以,博

    2024年02月20日
    浏览(74)
  • 浅谈BP神经网络PID控制算法及matlab仿真

    本文是对BP神经网络PID控制算法的数学描述及仿真实验,若有错误之处,欢迎指正! 老规矩不废话,直接上链接 BP神经网络维基百科 BP神经网络是人工神经网络中的一种常用结构,其由输入层(input)-隐含层(hidding)-输出层三层构成(output)。 上图中, B 1 B1 B 1 是输入层, B 2 B2 B

    2024年02月05日
    浏览(32)
  • 浅谈对线程的理解

    在Python中,想要实现多任务还可以使用多线程来完成。 进程是分配资源的最小单位 , 一旦创建一个进程就会分配一定的资源 , 就像跟两个人聊QQ就需要打开两个QQ软件一样是比较浪费资源的 . 线程是font color=\\\"red\\\"程序执行的最小单位/font , 实际上进程只负责分配资源 , 而利用这

    2024年04月10日
    浏览(44)
  • 浅谈百度文心一言

    文心一言是百度发布的大语言模型,它可以在文学创作、商业文案创作、数理推算、中文理解、多模态生成等五个场景中展示其综合能力。百度创始人李彦宏表示,这类大语言模型还远未到发展完善的阶段,进步空间很大。他也坦言,文心一言对标ChatGPT门槛很高,百度在全球

    2024年02月12日
    浏览(34)
  • 浅谈卫星通信技术

    目录 1.卫星的概念 2.卫星的具体作用 3.利用卫星进行通信的优势 4.卫星通信带来的技术变革         卫星是指在地球轨道上运行的天体或人造物体。一般来说,我们所说的卫星主要指人造卫星,它是由人类设计、制造并送入轨道的人造宇宙飞行器。         人造卫星通

    2024年02月11日
    浏览(26)
  • 浅谈Python异步编程

    异步编程是一种编程范式,用于处理那些需要等待I/O操作完成或者耗时任务的情况。在传统的同步编程中,代码会按照顺序逐行执行,直到遇到一个耗时操作,它会阻塞程序的执行直到操作完成。这种阻塞式的模型在某些场景下效率低下,因为代码在等待操作完成时无法执行

    2024年02月08日
    浏览(33)
  • 浅谈web性能测试

    web性能应该注意些什么? 性能测试,简而言之就是模仿用户对一个系统进行大批量的操作,得出系统各项性能指标和性能瓶颈,并从中发现存在的问题,通过多方协助调优的过程。而web端的性能测试应该注意的指标有:用户操作的响应时间、系统的吞吐量(TPS)、系统的硬件

    2024年02月04日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包