码迷,mamicode.com
首页 > 其他好文 > 详细

霍纳法则

时间:2017-11-10 15:12:45      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:images   直接   关于   计算   代码实现   color   计算机   二维   公式   

        计算机科学中,有一些关于多项式求值的问题。对于多项式求值问题,我们最容易想到的算法是求出每一项的值然后把所求的值累加起来,这种算法的时间和空间效率都不高,对于数据规模不大的题目来说由于其直观、简单很容易被大家采纳,可一旦数据规模过大时,这种算法就显得无能为力了,下面介绍一种解决这类求值问题的高效算法――霍纳法则。在中国,霍纳法则也被称为秦九韶算法。

       霍纳法则最重要的用途:为多项式求值提供了一个高效的方法。算式转化如下

技术分享

实例如下:

技术分享

使用霍纳法则,步骤如下:

    1,建立二维表格,将公式的系数填入第一行(即使对应项系数为0也要填写). 

    2,对于第二行,除了第一个单元格直接填写系数外,其他单元格的值的计算方式都是
       x的值* 前一单元格的值+本单元格对应于公式的系数 
(比如第二个单元格: 7* 2 + (-1 ) = 13.其中x的值为7, 2是前一单元格的值, 本单元格对上的系数为-1 )

技术分享

其实霍纳法也是从上面的多项式通过提取x得来的:

技术分享

使用js代码实现方式如下:

var param = [2, -1, -3, 1, -5]; //参数放在数组中
        var H = 7;  // X 取值7;
        var sum = param[0];// 获得第一个参数;
        for(var i = 1; i < param.length; i ++){ // 循环不断计算总值;
            sum = H * sum + param[i];
            console.log(sum);
        }
        console.log(‘sum : ‘ + sum); // sum : 4314

 

霍纳法则

标签:images   直接   关于   计算   代码实现   color   计算机   二维   公式   

原文地址:http://www.cnblogs.com/xuzhudong/p/7813811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!