What is Deque (Double-Ended Queue)?

Turkish: Deque (Veri Yapısı)

A deque is a double-ended queue that allows efficient insertion and removal at both the front and back of a collection.

What is a Deque?

A deque (double-ended queue) is a linear data structure where elements can be inserted and removed from both the front and the back. In a normal queue, items are added at the back and removed from the front; a deque keeps both ends active.

This flexibility lets a deque behave like both a queue and a stack in certain scenarios. With the right implementation, operations at either end do not require shifting the entire array.

How Does It Work?

A deque is often implemented with dynamic array blocks or linked-list-like structures. The core operations can be thought of as pushFront, pushBack, popFront, and popBack. Efficient implementations usually provide these operations in O(1) time.

Common uses include:

  • Tracking maximum or minimum values in sliding-window algorithms
  • Storing undo/redo history
  • BFS variants and double-ended search strategies
  • Fixed-size buffers of recent events
  • Worklists consumed from both ends without priority ordering

Business Use

A deque is not usually visible as a business feature; its value appears inside performance-sensitive algorithms and data structures. Large-scale processing, game loops, editor history, stream processing, and cache strategies can all benefit from choosing the right collection.

A message queue manages communication between services in distributed systems, while a deque is mostly an in-memory algorithmic structure. Both use the idea of a queue, but their scope and reliability expectations are different.