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

Cedar - Lux Barker #41

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

Cedar - Lux Barker #41

wants to merge 2 commits into from

Conversation

k-nox
Copy link

@k-nox k-nox commented Jun 17, 2022

Stacks and Queues

Thanks for doing some brain yoga. You are now submitting this assignment!

Comprehension Questions

Question Answer
What is an ADT? an abstract data type is described by its behavior, not its implementation
Describe a Stack a last-in-first-out data structure
What are the 5 methods in Stack and what does each do? push - adds an element to the top of the stack, pop - grabs an element from the top of the stack, empty - checks if the stack is empty
Describe a Queue a first-in-first-out data structure
What are the 5 methods in Queue and what does each do? enqueue - adds an element to the end of a queue, dequeue - removes an element from the front of the queue, front - peaks at the element at the front of the queue but doesn't remove it, size - returns the size of the queue, empty - returns a boolean for whether the queue is empty or not
What is the difference between implementing something and using something? implementing something requires you to know how something works. using it requires you to know when something is the right tool for the problem and how to use it.

OPTIONAL JobSimulation

Question Answer
Did you include a sample run of your code as a comment? what does this mean/what is the JobSimulation?

Copy link

@kyra-patton kyra-patton left a comment

Choose a reason for hiding this comment

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

✨💫 Really clean solution, Lux! Looks like you just missed implementing __str__ for your Stack. Let me know what questions you have.

🟢

@@ -23,39 +23,79 @@ def enqueue(self, element):
In the store are occupied
returns None
"""
pass
# is queue full?

Choose a reason for hiding this comment

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

💫 Very readable implementation!

else:
self.front += 1
self.size -= 1
return element

def front(self):

Choose a reason for hiding this comment

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

raise QueueEmptyException
# grab the element from the front of the queue
element = self.store[self.front]
self.store[self.front] = None

Choose a reason for hiding this comment

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

😎 Really like that you reset value to None in addition to moving the pointer

else:
self.rear += 1
self.store[self.rear] = element
self.size += 1

def dequeue(self):
""" Removes and returns an element from the Queue
Raises a QueueEmptyException if
The Queue is empty.
"""

Choose a reason for hiding this comment

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

pass

if self.size > 0:
return self.store[self.front]

def size(self):

Choose a reason for hiding this comment

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


def empty(self):
""" Returns True if the Queue is empty
And False otherwise.
"""
pass
return self.size == 0

def __str__(self):

Choose a reason for hiding this comment

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

@@ -12,7 +12,7 @@ def push(self, element):
""" Adds an element to the top of the Stack.
Returns None
"""
pass
self.store.add_first(element)

Choose a reason for hiding this comment

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

@@ -21,13 +21,13 @@ def pop(self):
The Stack is empty.
returns None
"""
pass
return self.store.remove_first() if not self.empty() else StackEmptyException()

Choose a reason for hiding this comment

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


def empty(self):
""" Returns True if the Stack is empty
And False otherwise
"""
pass
return self.store.empty()

def __str__(self):

Choose a reason for hiding this comment

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

🤔 Looks like you missed implementing this one!


def empty(self):
""" Returns True if the Stack is empty
And False otherwise
"""
pass
return self.store.empty()

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