Я дал этот алгоритм для вычисления суммы первых п кубов:Count # времени основной работы выполняется
s(n) {
if (n == 1) {
return 1
} else {
return s(n - 1) + n * n * n
}
}
Для подсчета количества раз основная операция выполняется, я спросил использовать следующее рекуррентное соотношение: T(1) = 0
и T(n) = T(n - 1) + 2
Может кто-нибудь объяснить мне, почему отношение выглядит так, а точнее: откуда взялось число 2?
Если n = 2
, на мой взгляд, T(2) = 1
, поскольку умножение выполняется только один раз, но по формуле T(2) = 2
.
Заметим, что Т (0) является не определено, но T (3) = 4. Причина, по которой его +2 обусловлено тем, что 2 операции необходимо умножить на 3 числа? –
Извините, я прочитал его как 'T (0) = 0', но умножение происходит дважды на каждом уровне, n * n * n', то есть два умножения не один, поэтому' T (3) = T (2) + 2 = T (1) + 2 + 2 = 4'. – mpcabd