Deque (Veri Yapısı) Nedir?

İngilizce: Deque (Double-Ended Queue)

Deque, eleman ekleme ve çıkarma işlemlerinin hem baştan hem sondan yapılabildiği çift uçlu kuyruk veri yapısıdır.

Deque Nedir?

Deque (double-ended queue), elemanların hem başından hem sonundan eklenip çıkarılabildiği doğrusal veri yapısıdır. Normal kuyrukta ekleme sondan, çıkarma baştan yapılırken deque iki ucu da aktif kullanır.

Bu esneklik sayesinde deque hem kuyruk hem de stack davranışına yakın senaryolarda kullanılabilir. Doğru veri yapısı seçildiğinde baştan veya sondan işlem yapmak için tüm diziyi kaydırmak gerekmez.

Nasıl Çalışır?

Deque genellikle dinamik dizi blokları veya bağlı liste benzeri yapılarla uygulanır. Temel operasyonlar pushFront, pushBack, popFront ve popBack olarak düşünülebilir. Verimli implementasyonlarda bu işlemler çoğu zaman O(1) karmaşıklıkla çalışır.

Kullanım örnekleri:

  • Kaydırmalı pencere algoritmalarında maksimum/minimum değer takibi
  • Son işlemleri tutan undo/redo yapıları
  • BFS varyasyonları ve çift uçlu arama stratejileri
  • Sabit boyutlu son olay tamponları
  • Öncelikli olmayan ama iki uçtan tüketilen iş listeleri

İş Dünyasında Kullanımı

Deque doğrudan iş yöneticisinin gördüğü bir özellik değildir; performans ve algoritma tasarımı içinde etkisi görülür. Büyük veri işleme, oyun döngüleri, editör geçmişi, akış işleme ve önbellek stratejilerinde doğru koleksiyon seçimi gecikmeyi azaltabilir.

Mesaj kuyruğu dağıtık sistemlerde servisler arası iletimi yönetirken deque daha çok bellek içi algoritmik veri yapısıdır. İkisi de “kuyruk” kavramını kullansa da kapsam ve güvenilirlik beklentileri farklıdır.