Sobes.tech
Junior

Programlama bağlamında yığın nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yığın, LIFO (Last-In, First-Out) prensibiyle çalışan soyut bir veri türüdür.

Yığınla ilgili temel işlemler:

  • Push: Bir öğeyi yığının tepesine ekleme.
  • Pop: Yığının tepesindeki öğeyi kaldırma ve geri döndürme.
  • Peek (veya Top): Yığının tepesindeki öğeyi, kaldırmadan geri döndürme.
  • isEmpty: Yığının boş olup olmadığını kontrol etme.
  • size: Yığındaki öğe sayısını geri döndürme.

Kotlin'de MutableList kullanarak bir yığın örneği:

class Stack<T> {

    private val elements = mutableListOf<T>()

    fun push(item: T) {
        elements.add(item)
    }

    fun pop(): T? {
        return if (!isEmpty()) {
            elements.removeAt(elements.size - 1)
        } else {
            null // Veya istisna atılabilir
        }
    }

    fun peek(): T? {
        return if (!isEmpty()) {
            elements.last()
        } else {
            null
        }
    }

    fun isEmpty(): Boolean {
        return elements.isEmpty()
    }

    fun size(): Int {
        return elements.size
    }
}

Yığın kullanımı programlamada sıkça şu alanlarda görülür:

  • İfade hesaplamaları: İnfix notasyonunu postfix veya prefix'e dönüştürme, postfix ifadelerin hesaplanması.
  • Fonksiyon/metod çağrılarını yönetme: Çağrı yığını, aktif fonksiyonlar hakkında bilgi tutar.
  • Geri alma/yineleme işlemleri: Kod editörleri ve grafik düzenleyiciler, işlem geçmişi için yığın kullanır.
  • Graf ve ağaçların dolaşımı: Derinlik öncelikli arama algoritması (DFS) için kullanılır.
  • Sözdizimi analizi: Çözümleyiciler, sözdiziminin doğruluğunu kontrol etmek için yığın kullanır.

Yığın, temel bir veri yapısıdır ve birçok algoritmanın ve düşük seviyeli mekanizmanın çalışma prensiplerini anlamak için önemlidir.