Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alie Ibarra C16 #46

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Alie Ibarra C16 #46

wants to merge 4 commits into from

Conversation

alieibarra
Copy link

Hash Table Practice

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
Why is a good Hash Function Important? Good hash functions avoid collision
How can you judge if a hash function is good or not? A hash function is "good" is it is consistent, maps different keys to different values, executes constant time, and appears to be random.
Is there a perfect hash function? If so what is it? There is no perfect hash function
Describe a strategy to handle collisions in a hash table Utilizing linear probing can help to avoid collision
Describe a situation where a hash table wouldn't be as useful as a binary search tree Binary search tree would be more useful when wanting to construct ordered data
What is one thing that is more clear to you on hash tables now A has table will more than likely have an O(1) time complexity, with O(n) in a worst case scenario situation

@chimerror
Copy link

Grabbing this to grade!

Copy link

@chimerror chimerror left a comment

Choose a reason for hiding this comment

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

Good work!

I left a correction for your time complexity calculation for the top k most frequent elements, but otherwise this looks good enough for a Green!


def top_k_frequent_elements(nums, k):
""" This method will return the k most common elements
In the case of a tie it will select the first occuring element.
Time Complexity: ?
Space Complexity: ?
Time Complexity: O(n)

Choose a reason for hiding this comment

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

Don't forget to account for the call to sorted in line 32, which will take O(n * log(n)) time, and thus be the dominant part, and the correct time complexity.

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