Algorithm Horner函数的证明(多项式求值)
我完成了Steven S.Skiena编写的算法设计手册第二版中的练习1-8: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计算) 你们的证明很好,但正如我所说的——归纳步骤应该明确强
它有说服力吗?通常在归纳证明中,您将步骤彼此分开。归纳步骤对我来说太含蓄了。我会这样做: 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)) ... ))