Меня попросили проанализировать асимптотическую временную сложность следующей функции рекурсии:
for-all k ≥ 1:
T(n) = n + T(n/2) + T(n/4) + T(n/8) + .... + T(n/2^k)
Мне удалось доказать, что:T(n) = O(n⋅log n)
и T(n) = Ω(n)
,
но я ищу более тесную границу (Большое тета).
T
бесконечно — это правильно? - person Ordous   schedule 12.11.2014T(n/2^k)
. - person user111893   schedule 12.11.2014k
не ограничено, как вы сами написали: для всех k ›= 1 - person Ordous   schedule 12.11.2014n*log(n)
для k->inf,2n-1
для k = 1), однако я не могу найти ничего для промежуточных сумм. Wolfram и Matlab тоже ничего не дают. Судя по результатам, которые мне удалось получить, он ни линейный, ни логлинейный. Возможно, вам больше повезет с Mathematics.SE — этот вопрос на самом деле не о программировании. - person Ordous   schedule 12.11.2014