前言
平时计算我们都会想到直接将x=代入方程中直接求解。但是这样子的话计算量很大,效率不高。而使用霍纳法则,则可以提高计算的效率。
一、霍纳法则
霍纳法则的优势在于:改变计算方式,减少计算次数
例如:
细数一下这个表达式用了 5 + 3 + 3 = 11 次乘法,同时用到了4次加减法
霍纳法则优化后的表达式,用了 1 + 1 + 1 + 1 = 4 次乘法,同时用到了4次加减法,直接减少了6次乘法运算,极大的提高了运算效率,同时实现代码非常简单
public static int horner(int[] args, int x) {
int r = args[0];
for (int i = 1; i < args.length; i++) {
r = r * x + args[i];
}
return r;
}
更多内容可以参考:
8.1 霍纳法则