Kuyruk ve Yığın Algoritmaları: Temel Kavramlar ve Örnekler

Kuyruk ve Yığın Algoritmaları: Temel Kavramlar ve Örnekler

Aralık 24, 2024

Okuma süresi: ~1 dakika

Kuyruk ve Yığın Algoritmaları: Temel Kavramlar ve Örnekler


Kuyruk (Queue)

Kuyruk Nedir?
Kuyruk, İlk Giren İlk Çıkar (FIFO - First In First Out) prensibiyle çalışan bir veri yapısıdır. Tıpkı marketteki sıra gibi, önce gelen işlem görür.

Kullanım Alanları:

  • CPU Zamanlama: İşlemler sırasıyla işlenir.
  • Yazıcı Sırası: Belgeler sırayla yazdırılır.
  • Veri Aktarımı: Paketler sıralı olarak iletilir.

Kod Örneği:

python
from collections import deque
queue = deque()
queue.append("A")  # Kuyruğa ekle
queue.append("B") p
rint(queue.popleft()) # A

Yığın (Stack)

Yığın Nedir?
Yığın, Son Giren İlk Çıkar (LIFO - Last In First Out) prensibiyle çalışan bir veri yapısıdır. Tabak yığını gibi, en son eklenen en önce alınır.

Kullanım Alanları:

  • Undo İşlemleri: Yapılan değişiklikleri geri alır.
  • Fonksiyon Çağrıları: Bellek yönetimi sağlar.
  • Parantez Dengesi: Açma ve kapama parantezlerini kontrol eder.

Kod Örneği:

python
stack = []
stack.append("X") # Yığına ekle
stack.append("Y")
print(stack.pop()) # Y

Kuyruk ve Yığının Karşılaştırması

Özellik Kuyruk (Queue) Yığın (Stack)
Prensip FIFO LIFO
Kullanım Alanları İş sıralaması Geri alma işlemleri
Örnekler Yazıcı sırası Parantez dengesi

Sonuç

Kuyruk ve yığın, algoritmaların temelini oluşturan veri yapılarıdır. Her biri farklı durumlarda kullanılarak iş akışlarını optimize eder. Kuyruk, sırayla işlem yaparken, yığın en son yapılan işlemi önce işler. Yazılım geliştirme ve algoritma tasarımında bu veri yapılarını anlamak, karmaşık problemleri çözmek için önemlidir.