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

Branches, Kristy #37

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

Branches, Kristy #37

wants to merge 2 commits into from

Conversation

kristyh32
Copy link

Linked List Comprehension Questions

Question Response
1. What advantages does a LinkedList have over an Array? it does not take up a block of space in memory and it is easy to add things and remove things from the top
2. When is an Array more advantageous? when you may need to find items/ delete items in the middle of the list often
3. When is an Array more advantageous?

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.

You definitely have a feel for linked lists, but you have a few bugs here. Take a look at my comments and let me know if you have questions.

You also seem to be misunderstanding space complexity. Take another look at that.

# Time complexity - ?
# Space complexity - ?
# Time complexity - O(n)
# Space complexity - O(n)

Choose a reason for hiding this comment

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

How is the space complexity O(n), do you add n elements onto the list?

# Time complexity - ?
# Space complexity - ?
# Time complexity - O(n)
# Space complexity - O(n)
def get_at_index(index)

Choose a reason for hiding this comment

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

What about if the index is greater than the length of the list?

# Space complexity - ?
def get_last
def find_last
current = @head

Choose a reason for hiding this comment

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

What if head is nil?

Suggested change
current = @head
return nil if head.nil?
current = head


# Time complexity - O(n)
# Space complexity - O(n)
def get_last

Choose a reason for hiding this comment

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

See above

# Time complexity - ?
# Space complexity - ?
# Time complexity - O(n)
# Space complexity - O(n)

Choose a reason for hiding this comment

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

How does the space complexity grow compared to the size of the list?

# Time complexity - ?
# Space complexity - ?
# Time complexity - O(n)
# Space complexity - O(n)
def length

Choose a reason for hiding this comment

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

👍 However your space complexity is wrong. It's O(1). The list doesn't change in size.

# Time complexity - ?
# Space complexity - ?
# Time complexity - O(1)
# Space complexity - O(1)
def get_first

Choose a reason for hiding this comment

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

👍

# Time complexity - ?
# Space complexity - ?
# Time complexity - O(1)
# Space complexity - O(1)
def add_first(data)

Choose a reason for hiding this comment

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

👍

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