Using Queues

Store data first-in, first-out, like a real queue.

  • Define and explain Using Queues in your own words
  • Use key terms such as queue accurately
  • Apply what you have learned to new examples and questions
  • Avoid the common mistakes learners make with this topic

This lesson focuses on Using Queues: store data first-in, first-out, like a real queue.

Definition: Using Queues

Store data first-in, first-out, like a real queue.

Key ideas

LIFO versus FIFO changes everything

Stacks reverse order — perfect for undo, back buttons and checking balanced brackets. Queues preserve order — perfect for print spooling and handling requests fairly. The operations differ too: stacks push and pop at the top, while queues enqueue at the rear and dequeue at the front. Picking the wrong one silently produces wrong answers.

Graphs model the real world

Roads, friendships, computer networks and dependencies are all graphs: nodes for places or things, edges for connections. Weighted edges let algorithms such as Dijkstra's find the cheapest route. Unlike trees, graphs can contain cycles — paths that loop back — which algorithms must handle to avoid going round forever.

Key term — queue: A first-in, first-out structure: items join at the rear and leave from the front — like a supermarket checkout queue.

Worked example: Using Queues

A queue holds [A, B, C] with A at the front. After one dequeue and one enqueue of D, what is the queue?

[B, C, D] — A leaves from the front and D joins at the rear.

Answer: [B, C, D] — A leaves from the front and D joins at the rear.

Common mistakes
  • Using a stack where a queue is needed Correction: ask 'must the first arrival be served first?' — if yes, you need a queue; a stack would serve the last arrival first.
  • Popping or dequeuing from an empty structure Correction: always check the structure is not empty first — removing from nothing causes an underflow error.

Practice

Which structure models a web browser's back button: stack or queue? Why?
The last page visited is the first you go back to.

A stack — each new page is pushed, and Back pops the most recent page, which is last-in, first-out.

Insert 5, 3, 8, 1 into an empty binary search tree in that order. What is the root's left child?
Smaller values go left of each node.

3 — it goes left of root 5, and then 1 goes left of 3.

What does an in-order traversal of a binary search tree produce?
Left subtree, node, right subtree — with smaller values on the left.

The values in ascending sorted order.

In a road network modelled as a graph, what do nodes, edges and weights represent?
Think about junctions, roads and distances.

Nodes are junctions (or towns), edges are the roads between them, and weights are distances or travel times.

Quick check

Using Queues — quick check

Which of these best defines "queue"?

A first-in, first-out structure: items join at the rear and leave from the front — like a supermarket checkout queue.

True or false: a stack can be used to check whether brackets in an expression are balanced.

True — push each opening bracket and pop on each closing one; the last opened must be the first closed, which is exactly LIFO.
Key takeaways
  • Using Queues: store data first-in, first-out, like a real queue.
  • LIFO versus FIFO changes everything: Stacks reverse order — perfect for undo, back buttons and checking balanced brackets.
  • node: A single element in a tree or graph, holding data plus links to other nodes.
  • Watch out for: using a stack where a queue is needed