Jump to content
  • entries
    33
  • comments
    0
  • views
    69,664

Python'da Collections Modülündeki deque Sınıfı


Doğuhan ELMA

209 views

Python'da collections modülündeki deque sınıfı, çift uçlu kuyruk (double-ended queue) veri yapısını etkili bir şekilde uygulamanıza olanak tanır.

Deque Nedir?

Deque (Double-Ended Queue), her iki ucundan da ekleme ve çıkarma işlemlerinin yapılabildiği bir veri yapısıdır. Bu, deque'nin hem yığıt (stack) hem de kuyruk (queue) olarak kullanılmasına olanak tanır.

Python'da Deque Kullanımı

collections modülünden deque'yi içe aktararak başlayabilirsiniz:

from collections import deque

Bir deque oluşturmak için, isteğe bağlı olarak başlangıç elemanları içeren bir yineleyici (örneğin bir liste) ve isteğe bağlı bir maxlen parametresi sağlayabilirsiniz. Bu maxlen parametresi, deque'nin kapasitesini sınırlar, böylece belirli bir boyutu aştığında otomatik olarak taşmaları önler.

d = deque([1, 2, 3], maxlen=5)

Temel Metotlar

Append: Sağ tarafa bir öğe ekler.

d.append(4)  # d = deque([1, 2, 3, 4], maxlen=5)

Append Left: Sol tarafa bir öğe ekler.

d.appendleft(0)  # d = deque([0, 1, 2, 3, 4], maxlen=5)

Pop: Sağ taraftan bir öğe çıkarır.

d.pop()  # d = deque([0, 1, 2, 3], maxlen=5)

Pop Left: Sol taraftan bir öğe çıkarır.

d.popleft()  # d = deque([1, 2, 3], maxlen=5)

Rotate: Elemanları sağa veya sola kaydırır.

d.rotate(1)  # d = deque([3, 1, 2], maxlen=5)
d.rotate(-1) # d = deque([1, 2, 3], maxlen=5)

Extend: Sağ tarafa birden çok öğe ekler.

d.extend([4, 5])  # d = deque([1, 2, 3, 4, 5], maxlen=5)

Extend Left: Sol tarafa birden çok öğe ekler.

d.extendleft([0, -1])  # d = deque([-1, 0, 1, 2, 3], maxlen=5)

Clear: Tüm öğeleri deque'den kaldırır.

d.clear()  # d = deque([], maxlen=5)

Avantajlar

Hızlı ve etkili: Her iki ucundan da ekleme ve çıkarma işlemleri O(1) zaman karmaşıklığına sahiptir.

Esnek: Yığıt veya kuyruk gibi farklı veri yapıları olarak kullanılabilir.

Dezavantajlar

Eğer maxlen parametresi belirlenmemişse, bellek kullanımı kontrolden çıkabilir.

Python'daki collections modülündeki deque, hem yığıt hem de kuyruk yapısının birleşimini sunan güçlü ve esnek bir veri yapısıdır. Her iki uçtan da hızlı erişim sunar ve farklı senaryolara uygun olarak özelleştirilebilir.

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...