График, который вы представили, очень полезен для визуализации масштабирования времени алгоритма. Рассмотрим вопрос: какова связь между деревьями рекурсии T n и T n + 1 для входных данных n и n + 1? Или, эквивалентно, с учетом T n как можно построить T n + 1 ?
Это должно быть ясно как из структуры алгоритма, так и из описания его дерева рекурсии, что T n для n > 0 состоит из всех T i , 0 <= <em>i <<em> n , все соединены через один дополнительный узел. Немного подумав, вы сможете увидеть, что можно построить T n + 1 с помощью этой процедуры:
- сделать копию, T ', из T n
- увеличивает значение root T' на один
- , получая root из T n дочерний элемент root из T 'для образования T n + 1
. конструкция, T n + 1 имеет в два раза больше узлов, чем T n , поэтому сложность времени масштабируется как O (2 n ).
Вы уже ответили на свой вопрос о сложности пространства, но я утверждаю, что он соответствует высоте дерева и поэтому масштабируется как O ( п ).