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.