Проработки рецидивов, вы можете получить, что при каждом вызове этой функции, временная сложность будет: T(n) = 2T(n/2) + O(1)
Как этот алгоритм O (n)?
и высоту дерева рекуррентного будет log2(n)
, где общее количество вызовов (то есть узлы в дереве).
Инструктор сказал, что эта функция имеет временную сложность O (n), но я просто не могу понять, почему.
Далее, когда вы заменить O (N) в сложности уравнения времени есть странные результаты. Например,
Т (п) < = сп
Т (п/2) < = (сп)/2
Назад в исходное уравнение:
Т (п) < = сп + 1
Где это, очевидно, не соответствует действительности, потому что cn + 1 !< cn
Возможно, вы могли бы задать вопрос по адресу http://cstheory.stackexchange.com/ – Leo
Я не знал, что существует, спасибо – sherrellbc