Skip to content

Conversation

@thenora
Copy link

@thenora thenora commented Sep 2, 2020

No description provided.

Copy link

@CheezItMan CheezItMan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nora, nice work, you hit the learning goals here. The only comments I have here for you are about time/space complexity. That's one thing to work on.

Comment on lines +19 to 21
# Time Complexity: O(log n)
# Space Complexity: O(log n)
def add(key, value)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 , your time/space complexities are correct assuming the tree is balanced.

Comment on lines +48 to 50
# Time Complexity: O(log n)
# Space Complexity: O(log n)
def find(key)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Since you are using a loop the space complexity is actually O(1) since you are not building a system stack.

Comment on lines +68 to 70
# Time Complexity: O(n)
# Space Complexity: O(n)
def inorder

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment on lines +84 to 86
# Time Complexity: O(n)
# Space Complexity: O(n)
def preorder

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment on lines +101 to 103
# Time Complexity: O(n)
# Space Complexity: O(n)
def postorder

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment on lines +118 to 120
# Time Complexity: O(n) - worst case for unbalanced, best case O(log n)
# Space Complexity: O(1)
def height

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Since you are doing recursion the space complexity is O(log n) assuming the tree is balanced and O(n) otherwise.

The time complexity is O(n) since you visit each node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants