Yığınlar Nedir?
Yığınlar, bilgisayar bilimlerinde en sık kullanılan soyut veri yapılarından biridir. Belirli bir erişim sırasına sahip öğelerin bir koleksiyonunu temsil eder.
Yığınlar, Son Giren İlk Çıkar (LIFO - Last-In, First-Out) prensibine göre çalışan bir veri yapısıdır. En son eklenen öğeye ilk olarak erişilir ve bu öğe ilk olarak çıkarılır.
Adım adım çözümlü örnekler
Bir web tarayıcısındaki 'geri' düğmesinin çalışma mantığını yığınlar üzerinden açıklayınız.
1. Kullanıcı yeni bir sayfayı ziyaret ettiğinde, önceki sayfanın adresi yığına push edilir. 2. Kullanıcı 'geri' düğmesine bastığında, yığının en üstündeki (en son ziyaret edilen) adres pop edilir ve kullanıcı o sayfaya yönlendirilir. 3. Yığın boşalana kadar bu işlem devam eder.
Bir metin düzenleyicideki 'geri al' (undo) fonksiyonunu yığınlarla nasıl uygulayabiliriz?
1. Kullanıcı her değişiklik yaptığında, yapılan işlemin bilgisi veya önceki metin durumu yığına push edilir. 2. Kullanıcı 'geri al' komutunu seçtiğinde, yığının en üstündeki işlem bilgisi pop edilir ve bu işlem geri alınarak önceki duruma dönülür. 3. Yığın boşalana kadar geri alma işlemi yapılabilir.
Bilgi kartları
Mini test
S1.Yığın veri yapısı hangi prensibe uyar?
S2.Bir yığına öğe ekleme işlemine ne ad verilir?
S3.Yığının en üstündeki öğeye bakma (ancak çıkarma yapmama) işlemine ne ad verilir?
Sık yapılan hatalar
Yığınlar, İlk Giren İlk Çıkar (FIFO) prensibine göre çalışır. — Doğrusu: Yığınlar, Son Giren İlk Çıkar (LIFO) prensibine göre çalışır.
Pop işlemi yığına öğe ekler. — Doğrusu: Pop işlemi yığından öğe çıkarır.
Sıkça sorulan sorular
Yığınların gerçek hayatta kullanıldığı başka örnekler var mı?
Evet, fonksiyon çağrılarını yönetmek (çağrı yığını), ifade değerlendirmeleri ve algoritmaların (örneğin, derinlik öncelikli arama) uygulanmasında kullanılır.
Yığınlar nasıl uygulanabilir?
Yığınlar, diziler (array) veya bağlı listeler (linked list) kullanılarak uygulanabilir. Diziler sabit boyutlu, bağlı listeler ise dinamik boyutlu yığınlar oluşturmaya olanak tanır.