Вы можете решить это, учитывая, что происходит с деревом с N узлами.
Функция будет вызываться один раз для каждого узла дерева, как и O (N) и Big-Theta (N).
Подумайте, как не важно, насколько широкое дерево, сколько высоту дерева для большого значения O, у него все равно такое же количество посещений.
При этом глубина в зависимости от ширины влияет на пробел соображений функции.
Если дерево очень широкое (скажем, ширина такова, что глубина всегда постоянна для любого N), то пространство стека, необходимое для обхода, является постоянным.
Однако если ширина была фиксированным постоянным значением> 1, то требуемое место в стеке равно O (log (N)).
Если у вас был вырожденный случай, когда ширина была 1, тогда дерево становится связанным списком, а требования к пространству составляют O (N).
Некоторые языки / компиляторы могут оптимизировать рекурсию так, чтобы требования к пространству были фактически постоянными (но это зависит от того, что вы делаете / возвращаете во время обхода).