Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Computer Science Introduction to Algorithms Recursion and Space Complexity Space Complexity

karan Badhwar
seal-mask
.a{fill-rule:evenodd;}techdegree
karan Badhwar
Web Development Techdegree Student 15,266 Points

space complexity?

How the space complexity is still O(logn) we call the function on every recursive call that adds up to the space and puts up the memory on the stack? How it is still considered O(logn)?

1 Answer

Steven Parker
Steven Parker
217,506 Points

The function itself will still have the same complexity no matter how it is used. But the code it is being called from might have a higher complexity.

karan Badhwar
seal-mask
.a{fill-rule:evenodd;}techdegree
karan Badhwar
Web Development Techdegree Student 15,266 Points

Hi Steven Parker, Thank you for responding. So what I was wondering is, We called the Top Function and inside it we called the same function which opens up another function on the Top of the Previous Function and that keeps on going. So for Example we have 3 functions(Same Function) on the stack with different Array, even though they might have the Same Complexity, but until all the sub-functions return a value we cannot determine the actual result, doesn't that add up to the Space Complexity, cause to do an Operation we have not only one but 3 for example functions on the stack? I hope my question is making any sense

Steven Parker
Steven Parker
217,506 Points

The complexity of the recursive version is 0(log n) because it requires more memory on each iteration.

The non-recursive version doesn't require additional memory and has a complexity of 0(1).