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

Fire - Noor #23

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

Fire - Noor #23

wants to merge 8 commits into from

Conversation

hn4ever
Copy link

@hn4ever hn4ever commented Apr 22, 2021

Stacks and Queues

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

Comprehension Questions

Question Answer
What is an ADT? A type of object where it's described by its methods.
Describe a Stack A data structure in which stores a list of data that can only be accessed in 'Last In First Out' order.
What are the 5 methods in Stack and what does each do? They are: push (to add an item at the top), pop (to remove an item from the top), is_empty(to check if the stack is empty), peek (return the value of the top item without removing it), size (return the number of items in the stack)
Describe a Queue A type of data structure in which stores a list of data that are only accessible in a 'First In First Out' Order.
What are the 5 methods in Queue and what does each do? They are: enqueue (to add an item at the back of the queue, dequeue (to remove an item from the front of the queue), is_empty (checks if a queue is empty or not), front (return the value of the front item without removing it), and size (return number of items in a queue
What is the difference between implementing something and using something? If we use something, we will not need to know how it was implemented, while if we implement something we need to know most of its use cases.

OPTIONAL JobSimulation

Question Answer
Did you include a sample run of your code as a comment?

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.

Well done Noor, you hit the learning goals here. Well done.

# @store = ...
raise NotImplementedError, "Not yet implemented"
@store = Array.new(Array_Length)
@front = @back = 0
end

def enqueue(element)

Choose a reason for hiding this comment

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

👍

end

@store[@back] = element
@back = (@back + 1) % Array_Length
end

def dequeue

Choose a reason for hiding this comment

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

👍 , very compact, nicely done!

end

def front
raise NotImplementedError, "Not yet implemented"
return @store[@front]
end

def size

Choose a reason for hiding this comment

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

👍

@back - @front + 1
else
Array_Length - @front + @back
end
end

def empty?

Choose a reason for hiding this comment

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

👍

@@ -1,19 +1,20 @@
class Stack

Choose a reason for hiding this comment

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

👍

@hn4ever
Copy link
Author

hn4ever commented May 11, 2021

Thank you Chris :)

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