Jump to content
  • entries
    33
  • comments
    0
  • views
    1,227

Tek Bağlantılı Listeyle Yığın Uygulama


Doğuhan ELMA

42 views

Yığıt (stack), son giren ilk çıkar (Last-In-First-Out veya LIFO) prensibine göre çalışan bir veri yapısıdır. Bir yığıt, iki ana işlemi destekler: push, bir öğeyi yığına ekler, ve pop, yığından bir öğeyi çıkarır.

Tek yönlü bağlı bir liste kullanarak bir yığıt uygulamak oldukça basittir. Baş düğüm, yığının en üstündeki öğeyi temsil eder, ve bu, push ve pop işlemlerinin hızlı bir şekilde gerçekleştirilmesini sağlar.

Yığıt İmplementasyonu

class Node:
    def __init__(self, data=None):
        self.data = data
        self.next = None

class Stack:
    def __init__(self):
        self.top = None

    def is_empty(self):
        return self.top is None

    def push(self, data):
        new_node = Node(data)
        new_node.next = self.top # Yeni düğüm, şu anki en üst düğüme işaret eder
        self.top = new_node # En üst düğümü yeni düğüm olarak güncelle

    def pop(self):
        if self.is_empty():
            return None # Yığın boş ise None döndür
        value = self.top.data # En üst düğümün değerini al
        self.top = self.top.next # En üst düğümü bir önceki düğüme güncelle
        return value

    def peek(self):
        return None if self.is_empty() else self.top.data # En üst düğümün değerini döndür

Açıklamalar:

Push İşlemi: Yeni bir düğüm oluşturulur ve next referansı şu anki en üst düğüme işaret eder. Ardından en üst düğüm, yeni düğüm olarak güncellenir.

Pop İşlemi: En üst düğümün değeri alınır ve en üst düğüm, bir sonraki düğüme güncellenir.

Peek İşlemi: Yığının en üstündeki öğeyi döndürmek için kullanılır, ancak yığından çıkarmaz.

Is_Empty İşlemi: Yığının boş olup olmadığını kontrol etmek için kullanılır.

Tek yönlü bağlı liste ile yığının uygulanması, yığıt işlemlerini sabit zaman karmaşıklığıyla, yani O(1) ile gerçekleştirmenizi sağlar.

 

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

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