Kuyruk Soyut Veri Türü (ADT)
Abstract Data Type (ADT), bir veri yapısının mantıksal tanımını ve bu veri yapısı üzerinde gerçekleştirilebilecek işlemleri tanımlar, ancak bu işlemlerin nasıl gerçekleştirileceğinin ayrıntılarını belirtmez. Yani, ADT, "ne" yapılması gerektiğini tanımlar, "nasıl" yapılacağını değil.
Queue Abstract Data Type (Kuyruk Soyut Veri Tipi), bir kuyruk veri yapısının özelliklerini ve üzerinde gerçekleştirilebilecek işlemleri tanımlar. Temelde, bir kuyruk, öğelerin sırayla saklandığı ve ilk giren öğenin ilk çıktığı (FIFO - First In, First Out) bir koleksiyondur.
Queue ADT'nin Temel İşlemleri:
Enqueue: Kuyruğun sonuna bir öğe ekler.
Dequeue: Kuyruğun başından bir öğe çıkarır ve döndürür.
Front: Kuyruğun başındaki (önündeki) öğeyi döndürür, ancak kuyruktan çıkarmaz.
IsEmpty: Kuyruğun boş olup olmadığını kontrol eder.
Size: Kuyruğun boyutunu (içerdiği öğe sayısını) döndürür.
Bu işlemler, kuyruk ADT'nin mantıksal bir tanımını oluşturur ve herhangi bir dilde veya herhangi bir iç uygulama detayı kullanılmadan bu yapıyı tanımlar.
Uygulama:
Kuyruk ADT'si, diziler, bağlı listeler veya diğer veri yapıları kullanılarak uygulanabilir. Python'da, queue modülü veya basit bir liste kullanarak bir kuyruk oluşturabilirsiniz.
Örnek:
Queue ADT'nin bir uygulaması şöyle görünebilir:
from collections import deque class Queue: def __init__(self): self.items = deque() def enqueue(self, item): self.items.append(item) def dequeue(self): return self.items.popleft() if not self.is_empty() else "Kuyruk boş." def front(self): return self.items[0] if not self.is_empty() else "Kuyruk boş." def is_empty(self): return len(self.items) == 0 def size(self): return len(self.items)
Bu, Queue ADT'nin Python'da bir uygulamasıdır, deque kullanılarak yüksek performanslı bir kuyruk oluşturur. Her bir metod, yukarıda tanımlanan Queue ADT işlemlerini gerçekleştirir.
0 Comments
Recommended Comments
There are no comments to display.