in Veri Yapıları

Stack and Queues– Yığıtlar ve Kuyruklar

 

Bu yazımızda da yine çok önemli iki yapıdan söz edeceğiz.Stack ve Queues!(Yığıtlar ve kuyruklar demek pek hoşuma gitmedi.İngilizcesi daha aşina olduğum halleri. )

Peki nedir bu stack yapısı?

Stack , veri ekleme ve çıkarma işlemlerinin en üstten yapıldığı bir veri yapısıdır.Yani veri ekleyeceğimiz zaman stack yapısının en üstüne ekleniyor.Her veri bir öncekinin üstüne ekleniyor.Veriyi çıkarma işleminde ise en üstteki veriyi alıyoruz.Bu vesileyle de bir altındaki en üste çıkmış oluyor.Aslında bunu güzel bir örnekle betimleyebiliriz.Bir tabanca düşünün.Şarjörüne mermi doldurduğunuz zaman en son koyduğunuz mermi silahtan ilk çıkacak olandır.Yani stack yapısında da dendiği gibi “Son giren ilk çıkar”.

stack

Resimde de görüldüğü üzere stack yapısı için iki adet fonksiyondan bahsedebiliriz.Push ve Pop.

Push anlayacağınız üzere stack yapısının en üstüne veri eklemeyi ifade ediyor.Pop ise üstteki veriyi çekmeyi ifade etmektedir.

Başka bir örnekle açıklayalım.

Web tarayıcıları internete erişimimiz için vazgeçilmez araçlardır.Her gün aslında stack yapısını kullandığımızı size güzel bir şekilde açıklayayım.Diyelim ki şuanda  Google’a bağlısınız ve sitelerinizin geçmişi şu şekilde olsun.

Şuan da açık site: www.google.com

  1. www.twitter.com
  2. www.facebook.com
  3. www.ugurcanlacin.com

Başka bir siteye girdiğimiz durumda Google push edilerek gördüğünüz verilerin en üstüne yerleşecektir.Yani şuan ki görüntü şu şekilde olacaktır.

Şuan ki site: www.github.com

  1. www.google.com
  2. www.twitter.com
  3. www.facebook.com
  4. www.ugurcanlacin.com

Eğer kullandığımız web tarayıcıda geri butonuna basarsak.En üstteki veriyi bize pop edecek, dolayısıyla görüntümüz şu olacak.

Şuan ki site: www.google.com

  1. www.twitter.com
  2. www.facebook.com
  3. www.ugurcanlacin.com

 

 

Evet, Stack yapımızın mantığını az çok anlamışızdır.Şimdi Queues yapısına geçelim.Türkçesi kuyruklar.

Peki kuyruklar nedir?

Kuyruklar günlük hayatta sıkça rastladığımız sıra bekleme olarak açıklanabilir. Örneğin; Bir bankaya hesap açtırmaya gittiniz.Gidip bir sıra almanız gerekir.Yani bir kuyruğa girersiniz.Sizden sonra gelen bir kişi önünüze değil arkanıza geçmek zorundadır.Ve ilk sırayı alanlar her zaman daha önce işlerini bitirirler.Queues yapısında veri ekleneceği zaman kuyruğun sonuna eklenir.Veri çıkarılacağı zamanda başında çıkarılır.Kısaca betimleyecek olursak Stack yapısının aksine Queues yapısında “İlk giren ilk çıkar” sloganı geçerlidir.

Kuyruk yapısınıda bir resimle göstermeye çalışayım.

405px-Data_Queue.svg

Resimde görüldüğü üzere enqueue bahsettiğimiz sondan veri eklenmesi işlemidir.Dequeue ise ilk sıradan veri çıkarılması işlemidir.

 

Stack ve Queues yazısını burada bitiriyorum.

Görüşmek üzere…

 

 

Yorum yaz

Comment