Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm Horner函数的证明(多项式求值)_Algorithm - Fatal编程技术网

Algorithm Horner函数的证明(多项式求值)

Algorithm Horner函数的证明(多项式求值),algorithm,Algorithm,我完成了Steven S.Skiena编写的算法设计手册第二版中的练习1-8: 它有说服力吗?通常在归纳证明中,您将步骤彼此分开。归纳步骤对我来说太含蓄了。我会这样做: 1)对于n=1霍纳([a0],x)=a0 2)horner([a0,…,a(n+1)],x)=x*horner([a1,…,a(n+1)],x)+a0=x*horner([b0,…,bn],x)+a0,其中bn=a(n+1) 3)因此n的霍纳值,n+1的霍纳值可以用2计算) 你们的证明很好,但正如我所说的——归纳步骤应该明确强

我完成了Steven S.Skiena编写的算法设计手册第二版中的练习1-8:


它有说服力吗?

通常在归纳证明中,您将步骤彼此分开。归纳步骤对我来说太含蓄了。我会这样做:

1)对于n=1霍纳([a0],x)=a0

2)horner([a0,…,a(n+1)],x)=x*horner([a1,…,a(n+1)],x)+a0=x*horner([b0,…,bn],x)+a0,其中bn=a(n+1)

3)因此n的霍纳值,n+1的霍纳值可以用2计算)


你们的证明很好,但正如我所说的——归纳步骤应该明确强调——在一个单独的证明步骤中,n+1的解如何从n的解(在你们的例子中是m)派生出来。

通常在归纳证明中,你们将步骤彼此分开。归纳步骤对我来说太含蓄了。我会这样做:

1)对于n=1霍纳([a0],x)=a0

2)horner([a0,…,a(n+1)],x)=x*horner([a1,…,a(n+1)],x)+a0=x*horner([b0,…,bn],x)+a0,其中bn=a(n+1)

3)因此n的霍纳值,n+1的霍纳值可以用2计算)


你们的证明很好,但正如我所说的——归纳步骤应该明确强调——在一个单独的证明步骤中,n+1的解如何从n的解(在你们的例子中是m)得到。

我记住这一点的方式是将p(x)写成:


for循环直接从中跟随。

我记得这是将p(x)写为:

for循环直接从中跟随。

使用循环不变量
  • 这是一个使用循环不变量的证明
使用归纳法
  • 归纳假说
  • 基本情况
  • 诱导步骤
  • 结论
  • 使用循环不变量
    • 这是一个使用循环不变量的证明
    使用归纳法
  • 归纳假说
  • 基本情况
  • 诱导步骤
  • 结论

  • 如果算法是使用递归公式化的,则为“是”。对于迭代版本,尝试提出一个循环不变量。属于math.stackexchange.com。这里有一个我遗漏的错误吗?如果算法是使用递归公式化的,是的。对于迭代版本,尝试提出一个循环不变量。属于math.stackexchange.com。这里有一个我遗漏的错误吗?
    P(x) = a_0 + x(a_1 + x(a_2 + ... + x(a_{n-1} + x a_n)) ... ))