База ответов ИНТУИТ

Программирование

<<- Назад к вопросам

Интерполяционный многочлен в форме Ньютона, построенныйпо узламx0, x1, ..., xn ипринимающий в этих узлах значенияy0, y1, ..., yn,представляется формулой
pn(x) = a0 + a1(x-x0) + a1(x-x0)(x-x1) + ... + an(x-x0)(x-x1)...(x-xn-1)
Пусть коэффициентыa0, a1, ..., anмногочлена pn(x)уже вычислены. Мы добавляем новый узел xn+1,значение в котором должно быть равно yn+1,и строим новый многочлен Ньютона pn+1(x)на единицу большей степени по узламx0, x1, ..., xn, xn+1и значениямy0, y1, ..., yn, yn+1.Сколько действий нужно выполнить, чтобы вычислить всекоэффициенты нового многочлена?

(Отметьте один правильный вариант ответа.)

Варианты ответа
O(n2).
O(1).
O(n). (Верный ответ)
O(n3).
Похожие вопросы
Интерполяционный многочлен в форме Ньютона, построенныйпо узламx0, x1, ..., xn ипринимающий в этих узлах значенияy0, y1, ..., yn,представляется формулой
pn(x) = a0 + a1(x-x0) + a1(x-x0)(x-x1) + ... + an(x-x0)(x-x1)...(x-xn-1)
Сколько действий нужно выполнить, чтобы вычислить все его коэффициентыa0, a1, ..., an?
Интерполяционный многочлен в форме Ньютона, построенныйпо узламx0, x1, ..., xn,представляется формулой
pn(x) = a0 + a1(x-x0) + a1(x-x0)(x-x1) + ... + an(x-x0)(x-x1)...(x-xn-1)
Сколько действий необходимо выполнить, чтобы вычислить его значениев некоторой точке x=t?
Пусть функцияf(x) = p*x2 + q*x + r(многочлен степени 2) задана на отрезке [a, b].Пусть отрезок [a, b] разделен на 4 равных части;обозначим концы этих отрезков черезx0, x1,x2, x3, x4:
    h = (b-a)/4, xi = a+i*h, i = 0,1,2,3,4.
Обозначим
    yi = f(xi).
Чему равен интеграл функции f(x)по отрезку [a, b]? Отметьте все правильные ответы.
Пусть 2 многочлена p(x) и q(x)степени 4 принимают в четырех попарно различных узлахx0, x1,x2, x3 одни и те жезначенияy0, y1,y2, y3. Следует ли изэтого, что многочлены p(x) и q(x)равны?
Пусть функцияf(x) = p*x2 + q*x + r(многочлен степени 2), заданная на отрезке [a, b],принимает значенияy0, y1, y2в точках a, (a+b)/2, b(на концах и в середине отрезка). Чему равен интеграл от этойфункции по отрезку [a, b]?
Для приближения функции, заданной на отрезке [a, b],применяется сплайн-интерполяция. Для этого отрезок разбиваетсяна n частей точкамиx0, x1, x2, ..., xn,в которых заданы значения функцииy0, y1, y2, ..., yn,На каждом из этих маленьких отрезков[xi, xi+1] функция приближаетсямногочленом степени d, который на концах отрезка принимаетзаданные значения. Пусть, помимо значений функции в узлах интерполяцииyi,заданы также и значения ее производнойy'i в узлах; производная каждого интерполяционногомногочлена также должна принимать заданные значенияна концах отрезка [xi, xi+1].Чему должна быть равнастепень d интерполяционных многочленов, из которыхсоставляется искомый сплайн?
Приближенное значение интеграла по отрезку [a, b]от функции y = f(x) вычисляется по формуле
    1/6 * (y0 + 4*y1 + y2) * (b - a).
где
    y0 = f(a), y1 = f((a+b)/2), y2 = f(b).
Пусть f(x) - многочлен некоторой степени.Какова максимальная степень многочленов, для которых эта формулавсегда дает точное значение интеграла?
Пусть дан массив a длины n,элементы которого нестрого возрастают, т.е. соседниеэлементы могут быть равными.Рассмотрим фрагмент программы бинарного поискаэлемента x в массивеa длины n, гдепосле отбрасывания особых ситуаций рассматриваетсяосновной случай:
        . . .        // Утверждение: a[0] <= x && x < a[n-1]        int beg = 0; int end = n-1;        while (end-beg > 1) {            // Инвариант: a[beg] <= x && x < a[end]            int c = (beg + end) / 2;            if (a[c] <= x) {                beg = c;            } else {                end = c;            }        }        if (a[beg] == x) {            *idx = beg;        } else  {            *idx = end;        }        . . .
Пусть значение x содержится в массивев нескольких экземплярах. Индекс какого элементамассива a будет записан в переменную *idx?
Пусть дан массив a длины n,элементы которого нестрого возрастают, т.е. соседниеэлементы могут быть равными.Рассмотрим фрагмент программы бинарного поискаэлемента x в массивеa длины n, гдепосле отбрасывания особых ситуаций рассматриваетсяосновной случай:
        . . .        // Утверждение: a[0] < x && x <= a[n-1]        int beg = 0; int end = n-1;        while (end-beg > 1) {            // Инвариант: a[beg] < x && x <= a[end]            int c = (beg + end) / 2;            if (a[c] < x) {                beg = c;            } else {                end = c;            }        }        *idx = end;        . . .
Пусть значение x содержится в массивев нескольких экземплярах. Индекс какого элементамассива a будет записан в переменную *idx?
Функция arctg(x) (ее также обозначают arctg или atan)представляется рядом Тейлора:
    arctg(x) = x - x3/3 + x5/5 - x7/7 + ...
Этот ряд сходится лишь для значений x, по модулю не превосходящихединицы, а эффективно вычислять его можно лишь для x, по модулюсущественно меньших единицы - например, |x|<0.5.Чтобы свести задачу вычисления функции arctg(x) ксуммированию ряда для малых значений x,можно воспользоваться формулой
    arctg(x) = 2*arctg(y), где y = x/(1 + sqrt(1 + x*x)),
заменив вычисление ряда для x вычислением для y.Например, arctg(1)=2*arctg(1/(1+sqrt(2))). При этом нам придетсявоспользоваться функцией sqrt, вычисляющей квадратный корень. Какоемаксимальное число раз ее придется вызвать, чтобы свести вычисление arctg(x) для произвольного x к суммированию ряда для x в интервале |x|<0.5?