Sobes.tech
Junior — Middle

Yığın veri yapısının temel türleri veya sınıfları nelerdir ve bunlar nasıl farklılık gösterir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yığın (heap) veri yapısının birkaç temel tipi vardır ve bunlar organizasyon ve kullanım şekillerine göre farklılık gösterir:

  1. İkili Yığın (Binary Heap)

    • Her ebeveyn düğümünün çocuklarından büyük (max-heap) veya küçük (min-heap) olduğu ikili ağaç şeklinde temsil edilir.
    • Öncelik kuyruğu uygulamalarında kullanılır.
  2. Fibonacci Yığını (Fibonacci Heap)

    • Daha karmaşık bir yapıdır ve bazı işlemleri (örneğin, anahtarın azaltılması) amortize edilmiş O(1) zamanında yapmaya olanak tanır.
    • Çok sayıda anahtar azaltma işlemi içeren algoritmalarda, örneğin Dijkstra algoritmasında kullanılır.
  3. D-ary Yığın (D-ary Heap)

    • İkili yığının genelleştirilmiş hali olup, her düğüm D kadar çocuk içerir.
    • Ağacın yüksekliğini azaltarak bazı senaryolarda performansı artırabilir.

Bu tipler arasındaki temel fark, ağaç yapısı, ekleme, silme ve anahtar değiştirme işlemlerinin zamanları ve uygulama karmaşıklığıdır. C#'ta genellikle ikili yığın kullanılır, örneğin .NET'teki PriorityQueue sınıfı aracılığıyla.