浅谈秦九韶算法

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

浅谈秦九韶算法

好像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日
    浏览(40)
  • 浅谈C++|STL之算法函数篇

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

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

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

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

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

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

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

    2024年02月05日
    浏览(40)
  • 【OpenCV】浅谈 Mat 类

    1、Mat类介绍 Mat 类是一个用于保存图像数据或者矩阵数据的数据结构,可以说是一个矩阵类, 在OpenCV 1.0时代,存储图像数据都是使用C语言中的一个结构体IplImage,很麻烦的是IplImage需要在程序结束的时候手动释放内存,就跟我们现在malloc过来的堆区空间一样。 不过随着Open

    2024年02月09日
    浏览(35)
  • 浅谈百度文心一言

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

    2024年02月12日
    浏览(48)
  • 浅谈Vue中的NextTick。

            等待下一次 DOM 更新刷新的工具方法。(在修改数据后使用这个方法,能获取更新的dom)         当你在 Vue 中更改响应式状态时,最终的 DOM 更新并不是同步生效 的,而是由 Vue 将它们缓存在一个队列中,直到下一个“tick”才一起执行。这样是为了确保每个组

    2024年01月16日
    浏览(40)
  • 浅谈卫星通信技术

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

    2024年02月11日
    浏览(36)
  • 浅谈ChatGPT(人工智能)

    ChatGPT (全名:Chat Generative Pre-trained Transformer),是美国OpenAI研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能

    2023年04月12日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包