# Learn Queues

Learn about the first-in-first-out data structure called a "queue". Study it conceptually and implement it in Python.

Start## Key Concepts

Review core concepts you need to learn to master this subject

Queue data structure methods

Queue data structure methods

The queue data structure has three main methods:

`enqueue`

(adds a node to the back of the queue)`dequeue`

(removes node at the front of the queue)`peek`

(returns value of node at the front of the queue, without removing it)

Queue follows FIFO protocol

Queue follows FIFO protocol

A queue is a data structure composed of nodes, which follows a first in, first out (FIFO) protocol.

This is analogous to a line at a grocery store, for which the first customer in the queue is the first to checkout.

- 1A queue is a data structure which contains an ordered set of data. Queues provide three methods for interaction: - Enqueue - adds data to the “back” or end of the queue - Dequeue - provides and re…
- 2Queues can be implemented using a linked list as the underlying data structure. The front of the queue is equivalent to the head node of a linked list and the back of the queue is equivalent to th…
- 3Let’s take a minute to review what we’ve covered about queues in this lesson. Queues: - Contain data nodes - Support three main operations: - Enqueue adds data to the back of the queue - Dequeue…

- 1As previously mentioned, a queue is a data structure that contains an ordered set of data that follows a FIFO (first in, first out) protocol. You can visualize it as a line at a deli: - The custome…
- 2Bounded queues require limits on the number of nodes that can be contained, while other queues don’t. To account for this, we will need to make some modifications to our Queue class so that we can…
- 3“Enqueue” is a fancy way of saying “add to a queue,” and that is exactly what we’re doing with the enqueue() method. There are three scenarios that we are concerned with when adding a node to the…
- 4We can add items to the tail of our queue, but we remove them from the head using a method known as dequeue(), which is another way to say “remove from a queue”. Like enqueue(), we care about the s…
- 5Congrats! You have just implemented a queue data structure in Python by creating a Queue class that: - follows FIFO protocol with enqueue(), dequeue(), and peek() methods - gives you the option of…

## How you'll master it

Stress-test your knowledge with quizzes that help commit syntax to memory