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

Shaina Beth C16 Spruce #67

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

Conversation

shainabeth
Copy link

No description provided.

Copy link

@spitsfire spitsfire left a comment

Choose a reason for hiding this comment

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

your space-time complexities look great! great job!

# Time Complexity: ?
# Space Complexity: ?
# Time Complexity: O(1)
# Space Complexity: O(1)
def get_first(self):

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(self, value):

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(n)
# Space Complexity: O(1)
def search(self, value):

Choose a reason for hiding this comment

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

👍

def search(self, value):
pass
cur = self.head
while cur != None:

Choose a reason for hiding this comment

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

one way we can shorten this is by:

Suggested change
while cur != None:
while cur:

# Time Complexity: ?
# Space Complexity: ?
# Time Complexity: O(n)
# Space Complexity: O(1)
def length(self):

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(n)
# Space Complexity: O(1)
def get_at_index(self, index):

Choose a reason for hiding this comment

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

👍

Comment on lines +91 to +95
prev = None
while cur != None:
prev = cur
cur = cur.next
prev.next = Node(value, None)

Choose a reason for hiding this comment

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

same as above! we can start our while loop at while curnext ! None:

Suggested change
prev = None
while cur != None:
prev = cur
cur = cur.next
prev.next = Node(value, None)
while cur.next != None:
cur = cur.next
cur.next = Node(value, None)

prev = cur
cur = cur.next
prev.next = Node(value, None)


# method to return the max value in the linked list
# returns the data value and not the node
def find_max(self):

Choose a reason for hiding this comment

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

👍

Comment on lines +122 to +129
prev = self.head
cur = self.head.next
while cur != None and cur.value != value:
prev = cur
cur = cur.next

if cur != None:
prev.next = cur.next

Choose a reason for hiding this comment

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

this works! let's take away one of the variables, though. again, let's start the while loop with cur.next != None:

Suggested change
prev = self.head
cur = self.head.next
while cur != None and cur.value != value:
prev = cur
cur = cur.next
if cur != None:
prev.next = cur.next
cur = self.head
while cur.next != None and cur.next.value != value:
cur = cur.next
cur.next = cur.next.next

Comment on lines +151 to +156
cur = self.head
last_made = None
while cur != None:
last_made = Node(cur.value, last_made)
cur = cur.next
self.head = last_made

Choose a reason for hiding this comment

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

hmm we shouldn't be adding nodes, only reversing the pointers so the last node is now the head and vice versa.

It's commonly done with three pointers: previous, current, and future 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