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ç:
- 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.
- 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.
- 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) .
- 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.
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
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)