Эффективная полиномиальная оценка с помощью алгоритма Хорнера - PullRequest
2 голосов
/ 14 сентября 2010

У меня есть уравнение y = 3 (x + 1) ^ 2 + 5 (x + 1) ^ 4.

Используя схему Хорнера, я мог бы оценить этот многочлен в этой форме, y = 8 + x (26 + x (33 + x (20 + 5x))), что потребовало бы 8 арифметических операций.

Я также мог бы оценить это в этой форме, y = (x + 1) ^ 2 * ((5x + 10) x + 8), требуя 7 операций.

Мне сказали, что это можно сделать за 5 операций, но алгоритм Хорнера должен быть наиболее эффективным, и он может сделать это только за 7 операций. Я что-то упустил?

Ответы [ 2 ]

6 голосов
/ 14 сентября 2010

Пусть a = (x + 1) ^ 2, это 2 операции.Тогда y = 3a + 5a ^ 2 = a (3 + 5a), еще 3 операции на общую сумму 5.

1 голос
/ 14 сентября 2010

3(x+1)^2 + 5(x+1)^4 = (x+1)^2[3 + 5(x+1)^2].

Я могу сделать это за 5 операций:

1) x+1
2) (x+1)^2
3) 5(x+1)^2
4) 5(x+1)^2 + 3
5) (x+1)^2[5(x+1)^2 + 3]
...