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:
-
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.
-
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.