logo

Yığın ve Kuyruk

Öncelikle şuna bakacağız yığın nedir Ve sıra nedir tek tek inceleyeceğiz ve ardından yığın ile kuyruk arasındaki farkları tartışacağız.

Yığın nedir?

Bir veri yapısı. Bir dizi durumunda rastgele erişim mümkündür, yani bir dizinin herhangi bir öğesine herhangi bir zamanda erişilebilir, halbuki yığında sıralı erişim yalnızca mümkündür. Ekleme ve silme kuralını izleyen bir kaptır. Prensibi takip ediyor LIFO (Son Giren İlk Çıkar) ekleme ve silme işlemlerinin bir taraftan gerçekleştiği, tepe . Yığına benzer veri tipindeki elemanları ekleyebiliriz, yani farklı veri tipindeki elemanlar aynı yığına eklenemez. İki işlem LIFO'da gerçekleştirilir, yani: itmek Ve pop operasyon.

Yığın ve Kuyruk

Yığın üzerinde gerçekleştirilebilecek işlemler şunlardır:

    itme(x):Elemanların yığının en üstüne yerleştirildiği bir işlemdir. İçinde itmek işlevinde, yığına eklemek istediğimiz bir öğeyi aktarmamız gerekir.pop():Yığının en üstünden elemanların silindiği bir işlemdir. İçinde pop() fonksiyonumuz için herhangi bir argüman iletmemize gerek yok.peek()/top():Bu işlev, yığında bulunan en üstteki öğenin değerini döndürür. pop() gibi, en üstteki öğenin değerini döndürür ancak bu öğeyi yığından kaldırmaz.boş():Yığın boşsa, bu işlev doğru bir değer döndürecektir, aksi halde yanlış bir değer döndürecektir.dolu():Yığın doluysa, bu işlev doğru bir değer döndürecektir, aksi halde yanlış bir değer döndürecektir.

Yığında, tepe son eklenen öğeyi takip etmek için kullanılan bir işaretçidir. Yığını uygulamak için yığının boyutunu bilmeliyiz. Yığın boyutunu elde etmek için hafızayı ayırmamız gerekiyor. Yığını uygulamanın iki yolu vardır:

    Statik:Yığının statik uygulaması dizilerin yardımıyla yapılabilir.Dinamik:Yığın dinamik uygulaması bağlantılı bir liste yardımıyla yapılabilir.

Sıra Nedir?

A

Yığın ve kuyruk arasındaki benzerlikler.

Yığın ve kuyruk arasında iki benzerlik vardır:

    Doğrusal veri yapısı
    Hem yığın hem de kuyruk doğrusal veri yapısıdır; bu, öğelerin sırayla depolandığı ve tek bir çalıştırmada erişildiği anlamına gelir.Boyut olarak esnek
    Hem yığının hem de kuyruğun boyutu esnektir; bu, çalışma zamanındaki gereksinimlere göre büyüyüp küçülebilecekleri anlamına gelir.

Yığın ve kuyruk arasındaki farklar

Yığın ve Kuyruk

Yığın ve kuyruk arasındaki farklar şunlardır:

Karşılaştırmanın temeli Yığın Sıra
Prensip En son eklenen öğenin ilk silinecek öğe olacağını ima eden LIFO (Son Giren İlk Çıkar) ilkesini izler. İlk eklenen öğenin listeden kaldırılacak ilk öğe olacağını ima eden FIFO (İlk Giren - İlk Çıkar) ilkesini izler.
Yapı Hem ekleme hem de silme işleminin gerçekleştirildiği tek bir ucu vardır ve bu uç, üst kısım olarak bilinir. Ön ve arka uç olmak üzere iki ucu vardır. Ön uç silme için, arka uç ise ekleme için kullanılır.
Kullanılan işaretçi sayısı Üst işaretçi olarak bilinen yalnızca bir işaretçi içerir. Üst işaretçi, yığının en son eklenen veya en üstteki öğesinin adresini tutar. Ön ve arka işaretçi olmak üzere iki işaretçi içerir. Ön işaretçi ilk öğenin adresini tutarken arka işaretçi kuyruktaki son öğenin adresini tutar.
Gerçekleştirilen işlemler Push ve pop olmak üzere iki işlemi gerçekleştirir. Push işlemi öğeyi bir listeye eklerken pop işlemi öğeyi listeden kaldırır. Esas olarak kuyruğa alma ve kuyruktan çıkarma olmak üzere iki işlemi gerçekleştirir. Kuyruğa alma işlemi, öğelerin kuyruğa eklenmesini gerçekleştirirken, kuyruktan çıkarma işlemi, öğelerin kuyruktan silinmesini gerçekleştirir.
Boş durumun incelenmesi Top==-1 ise bu, yığının boş olduğu anlamına gelir. Ön== -1 veya ön = arka+1 ise sıra boş demektir.
Tam durumun incelenmesi top== max-1 ise bu durum yığının dolu olduğu anlamına gelir. Eğer arka==max-1 ise bu durum yığının dolu olduğu anlamına gelir.
Varyantlar Herhangi bir türü yoktur. Öncelikli kuyruk, dairesel kuyruk ve çift uçlu kuyruk olmak üzere üç çeşittir.
Uygulama Daha basit bir uygulaması var. Bir yığına göre nispeten karmaşık bir uygulamaya sahiptir.
Görselleştirme Bir Yığın dikey bir koleksiyon olarak görselleştirilir. Kuyruk yatay bir koleksiyon olarak görselleştirilir.