(霍纳(hornor)规则的正确性)给定系数a0,a1,...,an和x的值,代码片段
1 y=0 2 for i=n downto 0 3 y=ai + x*y
实现了用于求多项式
的霍纳规则。
a.借助记号,实现霍纳规则的以上代码片段的运行时间是多少?
b.编写伪代码来实现朴素的多项式求值算法,该算法从头开始计算多项式的每个项。该算法的运行时间是多少?与霍纳规则相比,其性能如何?
c.考虑一下循环不变式:
在第2~3行for 循环每次迭代的开始有
把没有项的和式解释为等于0.遵循下面的循环不等式证明结构,使用该循环不等式来证明终止时有。
d.最后证明上面给出的代码片段将正确的求由系数a0,a1,...,an 刻画的多项式的值。