Data Structures & Algorithms Queues & Deques
💡
Exercise 76

Queue Basics 10 XP Easy

Ctrl+Enter Run Ctrl+S Save

A Queue is a First-In-First-Out (FIFO) data structure — just like waiting in line at a store! 🏪

💡 Think of it like this: Imagine a line at a coffee shop. The first person in line gets served first. New people join at the back. No cutting! That's a queue.

from collections import deque q = deque() q.append('Alice') # Joins line (back) q.append('Bob') # Joins line (back) q.append('Charlie') # Joins line (back) print(q.popleft()) # Served first → 'Alice' print(q.popleft()) # Served next → 'Bob' print(q[0]) # Who's next? → 'Charlie'

Queue operations (all O(1) with deque):

  • q.append(x)Enqueue: add to back of line
  • q.popleft()Dequeue: remove from front (served!)
  • q[0]Peek: see who's at the front
  • ⚠️ NEVER use list.pop(0) — it's O(n)! Always use deque

Where queues are used:

  • 🌊 BFS (Breadth-First Search) — Level-by-level tree/graph traversal
  • 🖨️ Print queue — Documents print in order they were sent
  • 📱 Task scheduling — OS runs processes in queue order
  • 💬 Message queues — Chat apps deliver messages in order
📋 Instructions
Practice using a queue with deque. Enqueue values 'A', 'B', 'C', 'D'. Dequeue twice and print each. Then print the front element.
Use deque(), append() to enqueue, popleft() to dequeue, and q[0] to peek at the front.
🧪 Test Cases
Input
q.popleft()
Expected
A
Test case 1
Input
q.popleft()
Expected
B
Test case 2
Input
q[0]
Expected
C
Test case 3
main.py
Hi! I'm Rex 👋
Output
Ready. Press ▶ Run or Ctrl+Enter.