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

Kuyruk Soyut Veri Türü (ADT)


Doğuhan ELMA

200 views

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.

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...