Programlamanın Sanatı - Stack ve Kuyruk
📑 İçindekiler
- Giriş
- Listeler
- Diziler
- Bağlantılı Listeler
- Stack (Yığın)
- LIFO
- Stack İşleçleri
- Queue (Kuyruk)
- FIFO
- Kuyruk İşleçleri
- Stacks ve Queues: Uygulamaları ve Örnekler
- Sonuç
- Kaynaklar
💡 İlgili Veri Yapıları: Stack ve Queue
Giriş
Veri yapıları, programlamada bilgiyi organize etmek ve işlemek için kullanılan temel araçlardır. Listeleri ve dizileri zaten biliyor olabilirsiniz. Ancak bu makalede, listelerin temelini oluşturan ve farklı erişim yöntemlerine sahip olan iki yeni veri yapısı olan stack ve queue'yi ele alacağız.
Listeler
Liste, bireysel veri öğelerini gruplandırmamızı sağlayan bir veri yapısıdır. Dizi veya bağlantılı liste gibi başka veri yapıları kullanarak listeleri oluşturabiliriz. Listeler, veri öğelerinin ayrı ayrı veya bir bütün olarak çalışması için bize olanak tanır.
Stack (Yığın)
Yığın, verileri sadece üst öğeden erişilebilen, sınırlı erişim noktalarına sahip bir veri yapısıdır. İki önemli erişim kuralı vardır: LIFO ve FILO. LIFO, "last in, first out" kelimelerinin baş harflerinden oluşan bir kavramdır ve yığın sadece en son eklenen öğeye erişebilme özelliğine sahiptir. FILO ise "first in, last out" kavramını ifade eder ve kuyruktaki öğelerin ilk ve son öğesine erişim sağlar.
Stack işleçleri, veriyi yığına eklemek, yığından veri almak ve yığının en üst öğesine erişmek için kullanılır.
Queue (Kuyruk)
Kuyruk, veri akış hızı ile işleme hızı arasındaki fark olduğunda kullanılan bir veri yapısıdır. İki erişim işlemi vardır: enqueue ve dequeue. Enqueue, veriyi kuyruğa ekleme işlemidir ve dequeue, veriyi kuyruktan çıkarma işlemidir.
Kuyruk işleçleri, veriyi kuyruğa eklemek, kuyruktan veri almak ve kuyruğun ön ve arka kısımlarına erişmek için kullanılır.
Stack ve Queue: Uygulamaları ve Örnekler
Stack ve queue, programlama problemlerini çözmek için oldukça kullanışlı veri yapılarıdır. İkisinin de benzersiz özellikleri vardır ve birçok farklı durumda kullanılmak üzere tasarlanmışlardır. Örneğin, stack veri yapısı, verilerin ters çevrilmesi veya geri alınması gereken durumlarda kullanışlıdır. Kuyruk ise işlem hızı ile veri akış hızı arasındaki dengesizliklerde kullanılır, örneğin bir yazıcı kuyruğu gibi.
Sonuç
Stack ve queue, her programcının bilgi araç setinde yer alması gereken çok kullanışlı veri yapılarıdır. Her birinin benzersiz özellikleri, farklı programlama sorunlarının çözülmesine yardımcı olur. Stack ve queue ile daha fazla tanıştıkça, bunları tasarımlarınızda sıklıkla kullanabileceğinizi göreceksiniz.
Kaynaklar: