Implementation (Part 1)
Coddy'nin Heap Sort - DSA Serisi kursunda ders 5 / 9.
Heap Sort'u temel işleminden başlayarak inşa edeceğiz.
Görev
KolayHeap Sort'un kalbi sift-down (aşağı kaydırma) işlemidir. Önce bunu inşa edelim.
Bir dizi arr (ikili yığın olarak kabul edilen) ve bir dizin i alan ve o düğümü aşağı iterek max-heap özelliğini geri yükleyen siftDown adında bir fonksiyon yazın. Düğümü 2*i + 1 ve 2*i + 2 konumlarındaki iki çocuğuyla karşılaştırın; eğer büyük olan çocuk daha büyükse, onunla yer değiştirin ve çocuğun konumundan devam edin. Diziyi döndürün.
Örneğin, siftDown([1, 10, 5, 3, 2], 0) fonksiyonu [10, 3, 5, 1, 2] sonucunu döndürür.
Kendin dene
#include <stdlib.h>
int* siftDown(int* arr, int arr_size, int i, int* returnSize) {
// Kodu buraya yazın
*returnSize = arr_size;
return arr;
}
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)