Yığın ve Öbek
Yığın, liste öğelerinin eklenmesinin ve silinmesinin yalnızca üst adı verilen bir uçta yapılabileceği sıralı bir listedir. Bu nedenle, yığın ilk giren ilk çıkar (LIFO) veri yapısı olarak kabul edilir. Heap, ağaçlara dayalı özel bir veri yapısıdır ve heap özelliği adı verilen özel bir özelliği karşılar. Ayrıca, bir yığın tam bir ağaçtır, yani ağacın yaprakları arasında boşluk olmadığı anlamına gelir, yani tam bir ağaçta ağaca yeni bir seviye eklenmeden önce her seviye doldurulur ve belirli bir seviyedeki düğümler soldan sağa.
Yığın Nedir?
Daha önce belirtildiği gibi, yığın, elemanların üst olarak adlandırılan sadece bir uçtan eklendiği ve çıkarıldığı bir veri yapısıdır. Yığınlar, push ve pop adı verilen yalnızca iki temel işleme izin verir. İtme işlemi yığının üstüne yeni bir öğe ekler. Pop işlemi, bir öğeyi yığının üstünden kaldırır. Yığın zaten doluysa, bir itme işlemi gerçekleştirildiğinde, yığın taşması olarak kabul edilir. Zaten boş olan bir yığın üzerinde bir pop işlemi gerçekleştirilirse, yığın yığını akışı olarak kabul edilir. Bir yığın üzerinde gerçekleştirilebilecek az sayıda işlem nedeniyle, kısıtlı bir veri yapısı olarak kabul edilir. Ayrıca, itme ve pop işlemlerinin tanımlanma şekline göre, yığına en son eklenen öğelerin ilk olarak yığının dışına çıktığı açıktır. Bu nedenle yığın bir LIFO veri yapısı olarak kabul edilir.
Öbek nedir?
Daha önce de belirtildiği gibi, yığın, yığın özelliğini karşılayan eksiksiz bir ağaçtır. Yığın özelliği, y, x'in bir alt düğümü ise, x düğümünde depolanan değerin, y düğümünde depolanan değerden (yani değer (x) ≥ değeri (y)) büyük veya ona eşit olması gerektiğini belirtir. Bu özellik, en yüksek değere sahip düğümün her zaman kök dizinine yerleştirileceğini gösterir. Bu özellik kullanılarak oluşturulan bir yığın, max-yığın olarak adlandırılır. Yığın özelliğinin bunun tersini belirten başka bir varyasyonu daha vardır. (yani değer (x) ≤ değer (y)). Bu, en küçük değere sahip düğümün her zaman kökte, yani min yığın olarak adlandırılacağı anlamına gelir. Yığınlar üzerinde minimum (yığın halinde) veya maksimum (azami yığınlarda) bulmak, minimum (yığın halinde) veya maksimum (azami yığınlarda) silmek, artış (maks. Yığınlarda) gibi geniş bir işlem yelpazesi vardır. -herplar) veya azalan (min. yığınlar halinde) anahtar vb..
Stack ve Heap arasındaki fark nedir?
Yığınlar ve yığınlar arasındaki temel fark, yığının doğrusal bir veri yapısı olmasına rağmen, yığının doğrusal olmayan bir veri yapısı olmasıdır. Yığın, LIFO özelliğini izleyen sıralı bir listedir, yığın ise heap özelliğini izleyen tam bir ağaçtır. Ayrıca yığın, itme ve pop gibi yalnızca sınırlı sayıda işlemi destekleyen kısıtlı bir veri yapısıdır, öbek ise minimum veya maksimum bulma ve silme, anahtarı artırma veya azaltma ve birleştirme gibi çok çeşitli işlemleri destekler.