Sobes.tech
Middle

Veri yapısı bağlamında yığınların hangi sınıflandırmaları vardır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Veri yapıları bağlamında, "Yığın" (Heap) terimi genellikle aşağıdaki sınıflandırmalara sahip ikili yığın (Binary Heap) anlamına gelir:

  1. Sıralama türüne göre:

    • Min-Yığın (Min-Heap): Her düğümün değeri, çocuk düğümlerinin değerlerinden küçük veya eşittir. Kök, en küçük öğedir.
    • Max-Yığın (Max-Heap): Her düğümün değeri, çocuk düğümlerinin değerlerinden büyük veya eşittir. Kök, en büyük öğedir.
  2. Ağacın tamlığına göre:

    • Tam ikili yığın (Complete Binary Heap): Tüm seviyeler, belki de sonuncusu hariç, tamamen doldurulmuştur ve son seviyedeki düğümler mümkün olduğunca sola yerleştirilmiştir. Bu özellik, yığının verimli bir şekilde dizi içinde saklanmasını sağlar.
    // Konseptin gösterimi için yığın düğümü yapısına örnek
    public class HeapNode<T>
    {
        public T Value { get; set; }
        // Düğüm referansları, dizi temsiliyetinde her zaman açık olmayabilir
        public HeapNode<T> Left { get; set; }
        public HeapNode<T> Right { get; set; }
    }
    

Farklı yığın türleri de mevcuttur, örneğin Fibonacci yığını (gelişmiş algoritmalar için) veya binom yığını, ancak çoğu durumda "Yığın" terimi, sıralama algoritmalarında (örneğin Heapsort) ve öncelik kuyruklarında geniş kullanımı nedeniyle özellikle minimum veya maksimum tam ikili yığını ifade eder.