Menu
Coddy logo textTech

How it works?

Coddy'nin Heap Sort - DSA Serisi kursunda ders 3 / 9.

İkili yığın (binary heap), düz bir dizide bulunur. i dizinindeki (0 tabanlı) düğüm için çocukları 2*i + 1 ve 2*i + 2 konumundadır. Bu dizinleme, bir ağacın bir dizide yaşamasını sağlayan asıl püf noktasıdır.

Adım Adım Süreç:

  1. Maksimum yığın (max-heap) oluşturun: diziyi her ebeveyn çocuklarından >= olacak şekilde yeniden düzenleyin. En büyük değer 0 dizininde yer alır.
  2. Maksimumu çıkarın: kökü (en büyük) yığının son elemanıyla değiştirin, ardından yığını bir birim küçültün, böylece en büyük değer artık sonundaki nihai sıralanmış konumunda kalır.
  3. Aşağı kaydırma (sift-down) ile onarın: yeni kök yerinde olmayabilir, bu nedenle yığın özelliği tekrar sağlanana kadar onu aşağı kaydırın (daha büyük olan çocuğuyla değiştirin, tekrarlayın) .
  4. Tekrarlayın yığın boşalana kadar. Dizi artık artan düzende sıralanmıştır.

[4, 10, 3, 5, 1] üzerinde örnek:

  • Maksimum yığın oluşturun: [10, 5, 3, 4, 1].
  • Kök 10'u sona taşıyın ve aşağı kaydırın, ardından 5, 4, 3 için tekrarlayın.
  • Sonuç: [1, 3, 4, 5, 10].

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Heap Sort - DSA Serisi bölümündeki tüm dersler