Menu
Coddy logo textTech

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.

challenge icon

Görev

Kolay

Heap 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;
}
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