首页 > 编程语言 >浅谈秦九韶算法

浅谈秦九韶算法

时间:2023-04-24 16:33:27浏览次数:33  
标签:浅谈 算法 cdots 秦九韶 式子 乘法

浅谈秦九韶算法

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

目录

秦九韶算法的应用:

当我们知道 \(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

代码十分短

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

标签:浅谈,算法,cdots,秦九韶,式子,乘法
From: https://www.cnblogs.com/2020fengziyang/p/17349978.html

相关文章

  • 利用注册表限制TLS加密算法
    SChannelSSP是window实现TLS、DTLS和SSL协议的版本。不同的Windows发行版支持不同的协议版本启动注册表编辑器(Regedt32.exe),并找到以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers例如TripleDES168子项是D......
  • 求解带有限重的三维装箱问题——启发式深度优先搜索算法
    引子在这篇文章中,只考虑了尺寸的限制,没有加入重量限制。加入重量限制后,主要思路有两个关键点: 1、在简单块和复合块生成的时候,记录块的重量。 2、在填充块的时候,记录装箱过程中的总重量,达到限重则不进行填充。代码:importcopyfromitertoolsimportproductfrommatplotl......
  • 基于最低水平面的三维装箱问题的启发式算法
    本文考虑了一个事实:在某些情况下,我们在摆放物品时,总是优先选择较低的平面,基于这个常识,本文提出一种基于平面选择的三维装箱算法。“平面”指可用于摆放货物的面。初始平面就是箱的整个底面,放入第一批货物后,“平面”包括了同批货物顶面形成的面和箱底面空余的部分。本文算法采用......
  • 求解三维装箱问题的启发式深度优先搜索算法(python)
    ⭐️问题描述给定一个容器(其体积为VVV)和一系列待装载的箱子,容器和箱子的形状都是长方体。问题的目标是要确定一个可行的箱子放置方案使得在满足给定装载约束的情况下,容器中包含的箱子总体积SSS尽可能的大,即填充率尽可能的大,这里填充率指的是S/V∗100%S/V*100\%S/V∗......
  • JavaScript 实现伽马算法
    伽马函数是数学中的一个非常重要的函数,它在统计学、物理学等领域有广泛的应用,其中最重要的应用就在概率统计和计算机科学中。接下来,我们来介绍如何使用JavaScript实现伽马算法。递归实现functiongamma(x){if(x===1){return1;}else{return(x-1)......
  • 回溯算法:剑指 Offer 38. 字符串的排列
    题目描述:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 限制:1<=s的长度<=8  classSolution{Set<String>res=newHashSet<>();publicString[]permutation(Strings){b......
  • 抖音视频播放量 视频搜索接口算法 XG XK 算法 设备注册
    Q44804487于2022-08-2221:31:48发布1067收藏11文章标签:音视频ios版权最近应客户要求研究了下抖音搜索视频和播放视频的接口现在已做完放出部分接口给大家参考下注:全套需要配合抖音设备使用视频搜索接口   defsearch_video_ios(query,page,sort_type,publish_time......
  • 抖音直播间人气接口算法 抖音协议
    Q44804487于2022-04-0210:15:54发布6525收藏26文章标签:python版权因为业务需要最近研究了下抖音直播间接口发现只要一直给一个接口发送心跳包就能保持这个用户的在线状态有些团队用这个实现直播间刷虚假人气上代码片段有感兴趣的可以一起交流学习    defbullet_chat......
  • 五分钟理解Java算法的时间复杂度
    关注我了解更多Java技术知识,带你一路“狂飙”到底!上岸大厂不是梦!前言时间复杂度主要是为了反映函数的执行时间随着输入规模增长而变化的规律,在一定程度上可以体现程序的执行效率和算法的优劣。作为程序员,掌握基本的算法时间复杂度的计算是很有必要的。时间复杂度介绍理论上,执......
  • 二叉树的遍历(递归算法)
    //二叉树的遍历(递归算法)#include<stdio.h>#include<malloc.h>typedefstructBiTNode{intdata;structBiTNode*lchild,*rchild;//存储二叉树的左孩子和右孩子}BiTNode,*BiTree;voidInitTree(BiTree&root){root=(BiTNode*)malloc(sizeof(BiTNo......